gpt4 book ai didi

c# - 如何将包含 Null 值的 DataTable 插入到 SQL Server 表中?

转载 作者:太空宇宙 更新时间:2023-11-03 20:33:12 25 4
gpt4 key购买 nike

我有一个数据表,其中还包含一些 Null 值,例如

   ID             CustomerID           CompanyID
------- -------------- --------------
1 2 Null
2 Null 1
3 5 4

我想将这个 DataTable 插入到一个表中。在 SQL Server 2005 中,我有一个名为“JobDetails”的表,它包含三列“JobOrderID”、“CustomerID”和“CompanyID”。所以上面的 DataTable 被插入到“JobDetails”表中,如下所示:

   JobOrderID      CustomerID          CompanyID
------------ ------------ ------------
1 2 Null
2 Null 1
3 5 4

如何实现?我试图将 DataTable 作为 XML 传递。但是由于存在 NUll 值,它会引发错误而不是插入。

错误的意思是,XML 标签没有考虑 NULL 值,所以它作为

  <NewDataSet>
<JobDetails>
<JobOrderID>1</JobOrderID>
<CustomerID>2</CustomerID>
</JobDetails>
<JobDetails>
<JobOrderID>2</JobOrderID>
<CompanyID>1</CompanyID>
</JobDetails>
<JobDetails>
<JobOrderID>3</JobOrderID>
<CustomerID>5</CustomerID>
<CompanyID>4</CompanyID>
</JobDetails>
</NewDataSet>

它忽略包含 NULL 的标签。所以插入不会发生。

最佳答案

通常您会通过适配器(例如System.Data.SqlClient.SqlDataAdapter)从DataTable 插入数据。这将处理空值等。如果它非常大,您也可以使用 SqlBulkCopy(尽管在这种情况下您需要注意事务日志等,因为批量插入可能未完全记录,IIRC ).

警告:就个人而言,我会在这里使用 DataTable 无论如何 - 我会使用常规类型化的类。

关于c# - 如何将包含 Null 值的 DataTable 插入到 SQL Server 表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6394151/

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