将数据类型varchar转换为bigint错误(c# ASP.NET)

本文关键字:ASP NET 错误 bigint 数据类型 varchar 转换 | 更新日期: 2023-09-27 18:16:37

我试图将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错误。

有什么建议吗?

将数据类型varchar转换为bigint错误(c# ASP.NET)

变化

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

INSERT INTO tbl_subscribers VALUES (@callerID2, ...

对于参数化的sql查询,不需要在参数名后面加上单引号(')

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