Reputation: 65
//Query SQL
MySqlCommand command1 = new MySqlCommand("INSERT INTO Equipamento (equipamento, situacao, modelo, nr_serie, avaria, estado_equipamento, data, estado_reparacao, reincidente, ID)" +
"VALUES(@equipamento, @situacao @modelo, @nr_serie, @avaria, @estado_equipamento, @data, @estado_reparacao, @reincidente, @id)", mConn);
command1.Parameters.AddWithValue("@equipamento", comboequipamento.Text);
command1.Parameters.AddWithValue("@situacao", "Em diagnóstico");
command1.Parameters.AddWithValue("@modelo", tbmodelo.Text);
command1.Parameters.AddWithValue("@nr_serie", tbserie.Text);
command1.Parameters.AddWithValue("@avaria", tbavaria.Text);
command1.Parameters.AddWithValue("@estado_equipamento", tbestado.Text);
command1.Parameters.AddWithValue("@data", Convert.ToString(DateTime.Today.ToShortDateString()));
command1.Parameters.AddWithValue("@estado_reparacao", null);
command1.Parameters.AddWithValue("@reincidente", 1);
command1.Parameters.AddWithValue("@id", tbid.Text);
//Executa a Query SQL
command1.ExecuteNonQuery();
reincidentestr = true.ToString();
Atribuir_IDFichaHTML();
Can I get some help please? I'm getting error when the command1
is executed.
Column count doesn't match value count at row 1
Upvotes: 2
Views: 10341
Reputation: 1270623
Your query is:
INSERT INTO Equipamento (equipamento, situacao, modelo, nr_serie, avaria,
estado_equipamento, data, estado_reparacao, reincidente, ID)
VALUES(@equipamento, @situacao @modelo, @nr_serie, @avaria,
@estado_equipamento, @data, @estado_reparacao, @reincidente, @id)
You have fewer values than you need in the values
statement, because you are missing a comma between @situacao
and @modelo
:
INSERT INTO Equipamento (equipamento, situacao, modelo, nr_serie, avaria,
estado_equipamento, data, estado_reparacao, reincidente, ID)
VALUES(@equipamento, @situacao, @modelo, @nr_serie, @avaria,
@estado_equipamento, @data, @estado_reparacao, @reincidente, @id)
This is yet another example where good formatting would have prevented a problem.
Upvotes: 7