ArgumentOutOfRangeException при выполнении MySql. (Мисклконнектор .NET)

Я получаю это исключение из MySqlCommand.ExecuteNonQuery():

Индекс и длина должны относиться к местоположению в строке.

Имя параметра: длина

Текст команды следующий:

INSERT INTO accounts
    (username, password, salt, pin, banned,
    staff, logged_in, points_a, points_b, points_c, birthday)
VALUES
    ('adminb', 'aea785fbcac7f870769d30226ad55b1aab850fb0979ee00481a87bc846744a646a649d30bca5474b59e4292095c74fa47ae6b9b3a856beef332ff873474cc0d3',
    'cb162ef55ff7c58c7cb9f2a580928679', '', '0, '0', '0', '0',
    '0', '0', '2010-04-18')

Извините за длинную строку, это хэш SHA512. Я попытался вручную добавить эти данные в таблицу из инструментов MySQL GUI, и это сработало отлично. Я не вижу проблем с выходом за пределы диапазона в этих строках. Кто-нибудь видит что-то не так?


person Lazlo    schedule 18.04.2010    source источник
comment
Я не могу помочь с индексом вне диапазона, кроме очевидного отсутствия '. Но вы обязательно должны использовать параметризованный запрос. Поместите значения в параметры объекта команды, а не прямо в строку. Это поможет избежать всевозможных проблем, таких как SQL Injection...   -  person Glenn    schedule 19.04.2010


Ответы (1)


Я не могу объяснить сообщение об ошибке, но я вижу одну неправильную вещь:

'0,

Не хватает одной цитаты. Это должно быть так:

'0',
person Mark Byers    schedule 18.04.2010