gpt4 book ai didi

c# - 操作数据集

转载 作者:太空宇宙 更新时间:2023-11-03 15:13:52 24 4
gpt4 key购买 nike

我在操作/导航数据集时遇到问题,我将其作为自动生成的 XML 文件引入。我的目标是将某些节点放入 SQL 表的列中。

我的 XML

<root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:mix="http://www.jcp.org/jcr/mix/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:rep="internal" xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:sv="http://www.jcp.org/jcr/sv/1.0">
<submission name="entry0">
<entry name="firstName">Name</entry>
<entry name="School">The University of College</entry>
<entry name="ExpectedYearofEntry">2019</entry>
<entry name="mailingAddress">Some st</entry>
</submission>
<submission name..........
</root>

我正在尝试这个:

string xmlFile = @"xml.xml";

DataSet dataSet = new DataSet();
dataSet.ReadXml(xmlFile, XmlReadMode.InferSchema);
DataTable table = dataSet.Tables["entry"];
IEnumerable<DataRow> row = table.AsEnumerable();

当我中断时,我可以看到行中的数据;也就是说,ItemArray 0 包含 firstName 和“Name”。但我不知道如何从行中提取这些数据。

最佳答案

您可以使用类似SqlBulkCopy 的工具来有效地将所有这些行插入到表中。不过,您必须为 DataSet 中的每个表执行此操作。

很好的例子:https://msdn.microsoft.com/en-us/library/ex21zs8x(v=vs.110).aspx一旦您有要插入的数据表。

if (dt.Rows.Count > 0)
{
string consString = ConfigurationManager.ConnectionStrings["connstring"].ConnectionString;
using (SqlConnection con = new SqlConnection(consString))
{
using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(con))
{
//Set target table
sqlBulkCopy.DestinationTableName = "dbo.Customers";

//Map the DataTable columns with the database table
sqlBulkCopy.ColumnMappings.Add("Id", "CustomerId");
sqlBulkCopy.ColumnMappings.Add("Name", "Name");
sqlBulkCopy.ColumnMappings.Add("Country", "Country");
con.Open();
sqlBulkCopy.WriteToServer(dt);
con.Close();
}
}
}

关于c# - 操作数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39835661/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com