【问题标题】:Error converting data type varchar to bigint (C# ASP.NET)将数据类型 varchar 转换为 bigint (C# ASP.NET) 时出错
【发布时间】:2011-12-03 08:12:26
【问题描述】:

我正在尝试将 Int64 变量存储到具有 bigint 数据类型的数据列。以下是我的sql插入查询和参数声明。

cmd.CommandText = "INSERT INTO tbl_subscribers VALUES ('@callerID2', '@timeStamp', '@unregisterDate ', '1')";

cmd.Parameters.Add("@callerID2", SqlDbType.BigInt);
        cmd.Parameters["@callerID2"].Value = SMSObject.callerID;
        cmd.Parameters.Add("@timeStamp", SqlDbType.DateTime);
        cmd.Parameters["@timeStamp"].Value = SMSObject.timeStamp.ToString("yyyy-MM-dd HH:mm:ss");
        cmd.Parameters.Add("@unregisterDate", DBNull.Value);
        cmd.Parameters["@unregisterDate"].Value = DBNull.Value;

当它尝试存储数据时,我得到了

将数据类型 varchar 转换为 bigint 时出错。

有什么建议吗?

【问题讨论】:

    标签: c# sql


    【解决方案1】:

    改变

    INSERT INTO tbl_subscribers VALUES ('@callerID2', ...
    

    INSERT INTO tbl_subscribers VALUES (@callerID2, ...
    

    【讨论】:

      【解决方案2】:

      如果是参数化的sql查询,你不需要在参数名中加上单引号(')。

      cmd.CommandText = "INSERT INTO tbl_subscribers 
            VALUES (@callerID2, @timeStamp, @unregisterDate, '1')";
      

      【讨论】:

        猜你喜欢
        • 2012-06-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-07
        • 2012-03-16
        • 1970-01-01
        相关资源
        最近更新 更多