2010-03-18 3 views
2

Я пытаюсь выполнить INSERT заявление на MySql БД в C#:фатальная ошибка во время выполнения команды с помощью MySQL INSERT

MySqlConnection connection = new MySqlConnection("SERVER=" + _dbConnection + ";" + 
    "DATABASE=" + _dbName + ";" + 
    "PORT=" + _dbPort + ";" + 
    "UID=" + _dbUsername + ";" + 
    "PASSWORD=" + _dbPassword + ";"); 
MySqlDataAdapter adapter; 
DataSet dataset = new DataSet(); 
command = new MySqlCommand(); 
command.Connection = connection; 
command.CommandText = "INSERT INTO plugins (pluginName, enabled) VALUES (@plugin,@enabled)"; 
command.Parameters.AddWithValue("@name", "pluginName"); 
command.Parameters.AddWithValue("@enabled", false); 
adapter = new MySqlDataAdapter(command); 
adapter.Fill(dataset); 

Таблица плагин состоит из двух столбцов: pluginName (VARCHAR (50)) и включен (логический).

Ошибка с ошибкой: mysql Неустранимая ошибка при выполнении команды. Любые идеи о том, почему это не получится?

ответ

4

Вы, кажется, используете @plugin в запросе, но @name в параметрах, хотя я бы ожидал лучшего сообщения об ошибке, если это была единственная проблема!

+0

ничего себе, спасибо. не могу поверить, что я пропустил это! – Brian

+0

@Hiyasat: Добавить комментарий вместо редактирования ответа. –

+0

Если вы исследуете Исключительное внутреннее исключение (его исключения полностью), вы в конечном итоге найдете источник проблемы; в моем случае, не определенный параметр (опечатка). – fableal

0

Ошибка «Неустранимая ошибка, возникающая при выполнении команды», похоже, для общих синтаксических ошибок в строке CommandText.

Например, следующий раз споткнулся меня на некоторое время:

[email protected],@[email protected],@last... 

Следите за эти запятые! Должно быть одно после @email:

[email protected],@email,@first,@last... 
Смежные вопросы