Brian
Brian

Reputation: 1469

Fatal error encountered during command execution with a mySQL INSERT

I am trying to execute a INSERT statement on a mySQL DB in C#:

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);

The plugin table consists of two columns: pluginName(varchar(50)) and enabled(boolean).

This fails with the error: mysql Fatal error encountered during command execution. Any ideas on why this would fail?

Upvotes: 4

Views: 66528

Answers (4)

Md Samrat Akbor
Md Samrat Akbor

Reputation: 75

`(from user in _context.GetDataTable("call sp_get_user_subscribe_info(@param1, @param2)", _context.AddParameter(new dynamic[] { id }))`

My procedure has two parameters but I have passed only one parameter that's why this error message occurred, But this error message is so confusing.

Upvotes: 0

Pranav Premarajan
Pranav Premarajan

Reputation: 1

Missing Parameters could also be a reason. eg:

cmd.CommandText = "INSERT INTO login VALUES(@uname,@pwd);"
cmd.Parameters.AddWithValue("@uname",TxtUsername.Text.ToString())
'forgot to place "@pwd"

cmd.ExecuteNonQuery()

You get fatal error which can be solved by adding

cmd.Parameters.AddWithValue("@pwd",TxtPassword.Text.ToString())

Upvotes: 0

DanM7
DanM7

Reputation: 2246

The error "Fatal error encountered during command execution" seems to be for general syntax errors in the CommandText line.

For example, the following just tripped me up for a while:

...@date,@email@first,@last...

Watch out for those commas! There should be one after @email:

...@date,@email,@first,@last...

Upvotes: 0

Chris
Chris

Reputation: 10455

You seem to be using @plugin in the query but @name in the parameters, although I'd expect a better error message if that was the sole problem!

Upvotes: 8

Related Questions