Ошибка преобразования типа данных varchar в bigint (C # ASP.NET) - PullRequest
0 голосов
/ 03 декабря 2011

Я пытаюсь сохранить переменную 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.

Любые советы?

Ответы [ 2 ]

6 голосов
/ 03 декабря 2011

Изменение

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

до

INSERT INTO tbl_subscribers VALUES (@callerID2, ...
2 голосов
/ 03 декабря 2011

В случае параметризованного SQL-запроса вам не нужно ставить одинарные кавычки (') с именем параметра.

cmd.CommandText = "INSERT INTO tbl_subscribers 
      VALUES (@callerID2, @timeStamp, @unregisterDate, '1')";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...