首页 > 解决方案 > 来自数据源的 String 类型的给定值无法转换为指定目标列的 int 类型。

问题描述

我正在研究一种插入方法,但它给了我 2 个我似乎无法解决的错误,我也是一名实习生,在这方面没有得到足够的指导,所以这就是我在这里问它的原因。

int werknemerId = 12345; 
int knowhowLenght = knowhowMatches.Count;
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Kantoor", typeof(int)));
dt.Columns.Add(new DataColumn("Taal", typeof(string)));
dt.Columns.Add(new DataColumn("Spreken", typeof(string)));
dt.Columns.Add(new DataColumn("Lezen", typeof(string)));
dt.Columns.Add(new DataColumn("Schrijven", typeof(string)));
dt.Columns.Add(new DataColumn("Talen_op_werknemerID", typeof(int)));
for (int x = 0; x < languageMatches.Count; x++) 
{
    string lang = languageMatches[x];
    string known = knowhowMatches[x];
    dt.Rows.Add(1, new string[] 
    {
        lang, known, known, known
    }, werknemerId);
}
using(SqlConnection Conn = new SqlConnection(connstring)) 
{
    Conn.Open();
    using(SqlBulkCopy bc = new SqlBulkCopy(Conn)) 
    {
        bc.DestinationTableName = "UzkTalen";
        bc.WriteToServer(dt);
        bc.WriteToServer(dt);
    }
}

我不断收到此异常:

System.InvalidOperationException:“来自数据源的 String 类型的给定值无法转换为指定目标列的 int 类型。”

这两个内部异常:

FormatException:无法将参数值从 String 转换为 Int32。

FormatException:输入字符串的格式不正确。

如果有人可以帮助我,那就太好了,我可以从中学习!

标签: c#sqlasp.net

解决方案


推荐阅读