将数据类型varchar转换为bigint时出错(C#ASP.NET)

时间:2011-12-03 08:12:26

标签: c# sql

我正在尝试将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时出错。

有任何建议吗?

2 个答案:

答案 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')";