gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 14:59:22 24 4
gpt4 key购买 nike

这是我的代码:

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)

最佳答案

我在 this bytes.com thread 中找到了答案.

您所要做的就是使用 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));

我也找到了相同的解决方案here在找到上述内容之前,但就我而言,源代码中缺少一些字段。尽管它指的是字段的实际索引/顺序,但这些字段的顺序是正确的。如果我没有缺少的字段,它就会起作用。

关于c# - 数据源中String类型的给定值无法转换为指定目标列的bigint类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16892702/

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