如何在C#asp.net中将字符串数据转换为数据表?
到目前为止,我已尝试将如何在C#asp.net中将字符串数据转换为数据表?,c#,asp.net,C#,Asp.net,到目前为止,我已尝试将数据表转换为字符串,如下所示:- public static string convertDataTableToString(DataTable dataTable) { string data = string.Empty; int rowsCount = dataTable.Rows.Count; for (int i = 0; i < rowsCount; i++) {
数据表
转换为字符串
,如下所示:-
public static string convertDataTableToString(DataTable dataTable)
{
string data = string.Empty;
int rowsCount = dataTable.Rows.Count;
for (int i = 0; i < rowsCount; i++)
{
DataRow row = dataTable.Rows[i];
int columnsCount = dataTable.Columns.Count;
for (int j = 0; j < columnsCount; j++)
{
data += dataTable.Columns[j].ColumnName + "~" + row[j];
if (j == columnsCount - 1)
{
if (i != (rowsCount - 1))
data += "$";
}
else
data += "|";
}
}
return data;
}
公共静态字符串convertDataTableToString(DataTable DataTable)
{
字符串数据=string.Empty;
int rowscont=dataTable.Rows.Count;
for(int i=0;i
现在我想再次将返回的字符串转换为
DataTable
您可以使用String.Split
将字符串拆分为行和单元格。如果列设置总是相同的(应该是一样的),那么您只需在第一次迭代时通过单元格添加列即可
下面是一个简单的例子:
public static DataTable convertStringToDataTable(string data)
{
DataTable dataTable = new DataTable();
bool columnsAdded = false;
foreach(string row in data.Split('$'))
{
DataRow dataRow = dataTable.NewRow();
foreach(string cell in row.Split('|'))
{
string[] keyValue = cell.Split('~');
if (!columnsAdded)
{
DataColumn dataColumn = new DataColumn(keyValue[0]);
dataTable.Columns.Add(dataColumn);
}
dataRow[keyValue[0]] = keyValue[1];
}
columnsAdded = true;
dataTable.Rows.Add(dataRow);
}
return dataTable;
}
或者,您可以在循环之前获得所有列的列表,但这种方法可能更容易实现您的目的。您可以使用
String.Split
将字符串拆分为行和单元格。如果列设置总是相同的(应该是一样的),那么您只需在第一次迭代时通过单元格添加列即可
下面是一个简单的例子:
public static DataTable convertStringToDataTable(string data)
{
DataTable dataTable = new DataTable();
bool columnsAdded = false;
foreach(string row in data.Split('$'))
{
DataRow dataRow = dataTable.NewRow();
foreach(string cell in row.Split('|'))
{
string[] keyValue = cell.Split('~');
if (!columnsAdded)
{
DataColumn dataColumn = new DataColumn(keyValue[0]);
dataTable.Columns.Add(dataColumn);
}
dataRow[keyValue[0]] = keyValue[1];
}
columnsAdded = true;
dataTable.Rows.Add(dataRow);
}
return dataTable;
}
或者,您可以在循环之前获得所有列的列表,但这种方法可能更容易实现您的目的。您可以使用
String.Split
将字符串拆分为行和单元格。如果列设置总是相同的(应该是一样的),那么您只需在第一次迭代时通过单元格添加列即可
下面是一个简单的例子:
public static DataTable convertStringToDataTable(string data)
{
DataTable dataTable = new DataTable();
bool columnsAdded = false;
foreach(string row in data.Split('$'))
{
DataRow dataRow = dataTable.NewRow();
foreach(string cell in row.Split('|'))
{
string[] keyValue = cell.Split('~');
if (!columnsAdded)
{
DataColumn dataColumn = new DataColumn(keyValue[0]);
dataTable.Columns.Add(dataColumn);
}
dataRow[keyValue[0]] = keyValue[1];
}
columnsAdded = true;
dataTable.Rows.Add(dataRow);
}
return dataTable;
}
或者,您可以在循环之前获得所有列的列表,但这种方法可能更容易实现您的目的。您可以使用
String.Split
将字符串拆分为行和单元格。如果列设置总是相同的(应该是一样的),那么您只需在第一次迭代时通过单元格添加列即可
下面是一个简单的例子:
public static DataTable convertStringToDataTable(string data)
{
DataTable dataTable = new DataTable();
bool columnsAdded = false;
foreach(string row in data.Split('$'))
{
DataRow dataRow = dataTable.NewRow();
foreach(string cell in row.Split('|'))
{
string[] keyValue = cell.Split('~');
if (!columnsAdded)
{
DataColumn dataColumn = new DataColumn(keyValue[0]);
dataTable.Columns.Add(dataColumn);
}
dataRow[keyValue[0]] = keyValue[1];
}
columnsAdded = true;
dataTable.Rows.Add(dataRow);
}
return dataTable;
}
或者,您可以在循环之前获得所有列的列表,但这种方法可能更容易达到您的目的。Classic但是,您尝试过什么吗?为什么不使用XML
DataTable
已经有了与XML之间的转换方法。@D Stanley我必须加密字符串,然后在其他应用程序中对其进行递减,并将其转换为数据table@SonerGönül我在尝试,但总是得到不同的结果。请为否决投票发表评论?经典,但是,你尝试过什么吗?为什么不使用XMLDataTable
已经有了与XML之间的转换方法。@D Stanley我必须加密字符串,然后在其他应用程序中对其进行递减,并将其转换为数据table@SonerGönül我在尝试,但总是得到不同的结果。请为否决投票发表评论?经典,但是,你尝试过什么吗?为什么不使用XMLDataTable
已经有了与XML之间的转换方法。@D Stanley我必须加密字符串,然后在其他应用程序中对其进行递减,并将其转换为数据table@SonerGönül我在尝试,但总是得到不同的结果。请为否决投票发表评论?经典,但是,你尝试过什么吗?为什么不使用XMLDataTable
已经有了与XML之间的转换方法。@D Stanley我必须加密字符串,然后在其他应用程序中对其进行递减,并将其转换为数据table@SonerGönül我正在努力,但总是得到不同的结果。请对否决票发表评论?