SQL 服务器 return Select 语句 XML 数据类型并将其转换为 C# 中的 DataSet,ASP.Net
SQL Server return Select statement with XML datatype and convert it into DataSet in C#, ASP.Net
在我的数据库 table 中,我有一个列名 'SectionDatatable',其数据类型为 XML。在我的 C# 代码中,在我连接到我的数据库后,我查询以获取 SectionDatatable,这是我的数据库中的 XML 格式,UserDefinedSectionData。我需要将XML中的'SectionDatatable'数据类型转换成DataSet,请问怎么办。卡了1天,下面是我的代码
SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder();
csb.DataSource = @"CPX-XSYPQKSA91D\SQLEXPRESS";
csb.InitialCatalog = "DNN_Database";
csb.IntegratedSecurity = true;
string connString = csb.ToString();
string queryString = "select * FROM UserDefinedSectionData WHERE SectionDataTabId = @tabId";
using (SqlConnection connection = new SqlConnection(connString))
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = queryString;
command.Parameters.Add(new SqlParameter("tabId", tabId));
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
string sectionData= reader["SectionDatatable"].ToString();
int moduleId = Int32.Parse(reader["SectionDataModuleId"].ToString());
}
}
}
这是将 XML
字符串转换为 DataSet
的简单示例。此示例还演示了如何处理 DataSet
.
中的所有表
您需要将此示例中的 XML 字符串替换为数据库中的 XML 输出。您可以根据访问数据的需要更改代码。
string RESULT_OF_SectionDatatable = "<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>";
var xmlReader = XmlReader.Create(new StringReader(RESULT_OF_SectionDatatable));
DataSet ds = new DataSet();
ds.ReadXml(xmlReader);
foreach (DataTable table in ds.Tables)
{
Console.WriteLine(table);
Console.WriteLine();
foreach (var row in table.AsEnumerable())
{
for (int i = 0; i < table.Columns.Count; ++i)
{
Console.WriteLine(table.Columns[i].ColumnName +"\t" + row[i]);
}
Console.WriteLine();
}
}
在我的数据库 table 中,我有一个列名 'SectionDatatable',其数据类型为 XML。在我的 C# 代码中,在我连接到我的数据库后,我查询以获取 SectionDatatable,这是我的数据库中的 XML 格式,UserDefinedSectionData。我需要将XML中的'SectionDatatable'数据类型转换成DataSet,请问怎么办。卡了1天,下面是我的代码
SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder();
csb.DataSource = @"CPX-XSYPQKSA91D\SQLEXPRESS";
csb.InitialCatalog = "DNN_Database";
csb.IntegratedSecurity = true;
string connString = csb.ToString();
string queryString = "select * FROM UserDefinedSectionData WHERE SectionDataTabId = @tabId";
using (SqlConnection connection = new SqlConnection(connString))
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = queryString;
command.Parameters.Add(new SqlParameter("tabId", tabId));
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
string sectionData= reader["SectionDatatable"].ToString();
int moduleId = Int32.Parse(reader["SectionDataModuleId"].ToString());
}
}
}
这是将 XML
字符串转换为 DataSet
的简单示例。此示例还演示了如何处理 DataSet
.
您需要将此示例中的 XML 字符串替换为数据库中的 XML 输出。您可以根据访问数据的需要更改代码。
string RESULT_OF_SectionDatatable = "<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>";
var xmlReader = XmlReader.Create(new StringReader(RESULT_OF_SectionDatatable));
DataSet ds = new DataSet();
ds.ReadXml(xmlReader);
foreach (DataTable table in ds.Tables)
{
Console.WriteLine(table);
Console.WriteLine();
foreach (var row in table.AsEnumerable())
{
for (int i = 0; i < table.Columns.Count; ++i)
{
Console.WriteLine(table.Columns[i].ColumnName +"\t" + row[i]);
}
Console.WriteLine();
}
}