1
//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();

请问我能得到一些帮助吗?我在执行Column count doesn't match value count at row 1时得到command1

4

1 回答 1

6

您的查询是:

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)

您在语句中的值比您需要的少,因为您在andvalues之间缺少逗号:@situacao@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)

这是另一个例子,良好的格式可以防止出现问题。

于 2013-05-23T01:43:21.423 回答