Csharp/C#教程:数据源中String类型的给定值无法转换为指定目标列的bigint类型分享


数据源中String类型的给定值无法转换为指定目标列的bigint类型

那是我的代码:

protected void SendToServer_Click(object sender, EventArgs e) { DataTable Values = Session["valuesdt"] as DataTable; if (Values.Rows.Count > 0) { //Fix up default values for (int i = 0; i < Values.Rows.Count; i++) { Values.Rows[i]["Mobile1"] = Values.Rows[i]["Mobile1"].ToString() == "" ? 0 : double.Parse(Values.Rows[i]["Mobile1"].ToString()); Values.Rows[i]["Mobile2"] = Values.Rows[i]["Mobile2"].ToString() == "" ? 0 : double.Parse(Values.Rows[i]["Mobile2"].ToString()); Values.Rows[i]["Tel"] = Values.Rows[i]["Tel"].ToString() == "" ? 0 : double.Parse(Values.Rows[i]["Tel"].ToString()); Values.Rows[i]["Category"] = Values.Rows[i]["Category"].ToString(); } DataTable dv = Values.DefaultView.ToTable(true, "Mobile1", "Mobile2", "Tel", "Category"); BulckCopyDataTable(dv, "client", 1000); } } public void BulckCopyDataTable(DataTable dt,string DestinationTable,int batchSize) { connection.Open(); using (SqlBulkCopy copy = new SqlBulkCopy(connection)) { copy.BatchSize = batchSize; copy.DestinationTableName = DestinationTable; copy.WriteToServer(dt); connection.Close(); } } 

我不知道为什么这个错误被抛出在数据库中:

 Mobile1 bigint, Mobile2 bigint, Tel bigint, Category nvarchar(MAX) 

我在这个bytes.com线程中找到了答案。

您所要做的就是使用SqlBulkCopyColumnMapping将源列映射到目标表。

 bulkCopy.ColumnMappings.Add(new SqlBulkCopyColumnMapping(0, 1)); bulkCopy.ColumnMappings.Add(new SqlBulkCopyColumnMapping(1, 2)); bulkCopy.ColumnMappings.Add(new SqlBulkCopyColumnMapping(2, 3)); bulkCopy.ColumnMappings.Add(new SqlBulkCopyColumnMapping(3, 6)); //look here, index is different bulkCopy.ColumnMappings.Add(new SqlBulkCopyColumnMapping(4, 8)); //and again bulkCopy.ColumnMappings.Add(new SqlBulkCopyColumnMapping(5, 9)); 

在找到上述内容之前,我也在这里找到了相同的解决方案,但在我的情况下,我在源代码中缺少一些字段。 这些字段的顺序正确,尽管它引用了字段的实际INDEX / ORDER。 如果我没有丢失的字段,那就可以了。

上述就是C#学习教程:数据源中String类型的给定值无法转换为指定目标列的bigint类型分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1004332.html

(0)
上一篇 2021年12月27日
下一篇 2021年12月27日

精彩推荐