Datatbel和 string之间的相互转换
Datatable 到 string
public static string DataTableToString(DataTable dt)
{
//!@&,#$%,^&*为字段的拼接字符串
//为了防止连接字符串不在DataTable数据中存在,特意将拼接字符串写成特殊的字符!
StringBuilder strData = new StringBuilder();
StringWriter sw = new StringWriter();
//DataTable 的当前数据结构以 XML 架构形式写入指定的流
dt.WriteXmlSchema(sw);
strData.Append(sw.ToString());
sw.Close();
strData.Append("@&@");
for (int i = 0; i < dt.Rows.Count;i++) //遍历dt的行
{
DataRow row = dt.Rows[i];
if (i > 0) //从第二行数据开始,加上行的连接字符串
{
strData.Append("#$%");
}
for (int j = 0; j < dt.Columns.Count; j++) //遍历row的列
{
if (j > 0) //从第二个字段开始,加上字段的连接字符串
{
strData.Append("^&*");
}
strData.Append(Convert.ToString(row[j])); //取数据
}
}
return strData.ToString();
}
string 到Datatable
public static DataTable StringToDataTable(string strdata)
{
if (string.IsNullOrEmpty(strdata))
{
return null;
}
DataTable dt = new DataTable();
string[] strSplit = {"@&@"};
string[] strRow = {"#$%"}; //分解行的字符串
string[] strColumn = {"^&*"}; //分解字段的字符串
string[] strArr = strdata.Split(strSplit, StringSplitOptions.None);
StringReader sr = new StringReader(strArr[0]);
dt.ReadXmlSchema(sr);
sr.Close();
string strTable = strArr[1]; //取表的数据
if (!string.IsNullOrEmpty(strTable))
{
string[] strRows = strTable.Split(strRow, StringSplitOptions.None); //解析成行的字符串数组
for (int rowIndex = 0; rowIndex < strRows.Length; rowIndex++) //行的字符串数组遍历
{
string vsRow = strRows[rowIndex]; //取行的字符串
string[] vsColumns = vsRow.Split(strColumn, StringSplitOptions.None); //解析成字段数组
dt.Rows.Add(vsColumns);
}
}
return dt;
}
Datatbel和 string之间的相互转换的更多相关文章
- json和string 之间的相互转换
json和string 之间的相互转换 <script type="text/javascript"> //先认识一下js中json function showInfo ...
- C#List<string>和string[]之间的相互转换
一.LIST概述 所属命名空间:System.Collections.Generic public class List<T> : IList<T>, IColle ...
- C# char[]与string之间的相互转换
string 兑换 Char[] string ss = "abcdefg"; char[] cc = ss.ToCharArray(); Char[] 转换成string str ...
- std::string, std::wstring, wchar_t*, Platform::String^ 之间的相互转换
最近做WinRT的项目,涉及到Platform::String^ 和 std::string之间的转换,总结一下: (1)先给出源代码: std::wstring stows(std::string ...
- Java基础【基本数据类型包装类、int与String 之间的相互转换】
为什么会有基本类型包装类? 将基本类型数据类型封装成对象,这样的好处可以在对象中定义更多方法操作该数据. 包装类常用的操作就是用于基本数据类型与字符串之间的转换 问题:int a=100; 为什么不能 ...
- c++ 中 char 与 string 之间的相互转换问题
第一部分: 将 char * 或者 char [] 转换为 string 可以直接赋值,转换. 第二部分: 将 string 转换为 char * 或者 cha ...
- int 和String之间的相互转换
int ---> String 1. 和 "" 进行拼接 2. 使用String类中的静态方法valueOf: public static String valueOf(in ...
- C# Enum Name String Description之间的相互转换
最近工作中经常用到Enum中Value.String.Description之间的相互转换,特此总结一下. 1.首先定义Enum对象 public enum Weekday { [Descriptio ...
- C#中String 与Color之间的相互转换
C#中String 与Color之间的相互转换 ————————————宋兴柱 其实,我们平常如果要在数据库存放Color类型值的话,肯定会在数据库中建立varchar类型.对吧.但是Colo ...
随机推荐
- wmic命令
WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具) ,提供了从命令行接口和批命令脚本执行系统管理的支持. 一.如何使用帮助文档: 1.w ...
- python web框架之Tornado
说Tornado之前分享几个前端不错的网站: -- Bootstrap http://www.bootcss.com/ -- Font Awesome http://fontawesome.io/ - ...
- xml解析总结-常用需掌握
Xml文档的解析 XML解析方式分为两种:DOM方式和SAX方式 DOM:Document Object Model, 文档对象模型.这种方式是W3C推荐的处理XML的一种方式. SAX:Simple ...
- Telerik 控件 RadGridview实现绑定
0.使用MiroModes框架请先阅读http://blogs.telerik.com/blogs/posts/10-01-20/micromodels_for_silverlight.aspx 1. ...
- IBatis.Net 老技术新研究
我们现在用的数据访问组件封装了IBatis.Net框架,提供了标准的数据访问接口和服务.正好总结一下老技术IBatis.Net在进行实际的数据访问开发之前,我们先了解一下:IBatis.Net中几个重 ...
- python 爬虫之爬取大街网(思路)
由于需要,本人需要对大街网招聘信息进行分析,故写了个爬虫进行爬取.这里我将记录一下,本人爬取大街网的思路. 附:爬取得数据仅供自己分析所用,并未用作其它用途. 附:本篇适合有一定 爬虫基础 crawl ...
- exp3.1实现顺序栈的各种操作
#include<iostream>using namespace std;#include<malloc.h>typedef char Elem;typedef struct ...
- VisualStudio 扩展开发
本文主要:如何开发一个 visual Studio 扩展,其实扩展也叫插件. 那么就是如何开发一个 vs插件. 我写这博客时候,是我在开发一个插件:编码规范工具.记录的是我从不知道到发布插件,如果遇到 ...
- WSGI框架及Paste+Pastedeploy+route+webob开发
一.前言 WSGI服务器 一个Web服务器网关接口 (WSGI)服务器实现了WSGI接口的Web服务器端运行的Python的Web应用程序. 为什么需要WSGI? 传统的Web服务器不理解或有任何方式 ...
- excel中添加拼接行
Sub 万途标签()Dim iFor i = 1 To Sheets.Count If Sheets(i).Name = "数据表" Then If MsgBo ...