我正在尝试将Int64变量存储到bigint数据类型的数据列。以下是我的sql insert查询和参数声明。
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时出错。
有任何建议吗?
答案 0 :(得分:6)
更改
INSERT INTO tbl_subscribers VALUES ('@callerID2', ...
到
INSERT INTO tbl_subscribers VALUES (@callerID2, ...
答案 1 :(得分:2)
如果是参数化sql查询,则不需要将单引号('
)与参数名称放在一起。
cmd.CommandText = "INSERT INTO tbl_subscribers
VALUES (@callerID2, @timeStamp, @unregisterDate, '1')";