错误“的关键字附近有语法错误,其中”

问题描述:

private void btnguardar_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      con.Open(); 
      string Query = "INSERT Produtos where (id_subcategoria= @id_subcategoria, nome_produto= @nome_produto, quantidade= @quantidade, preco_unitario= @preco_unitario, iva= @iva)"; 
      SqlCommand createCommand = new SqlCommand(Query, con); 
      createCommand.Parameters.AddWithValue("@id_subcategoria", this.label4.Text); 
      createCommand.Parameters.AddWithValue("@nome_produto", this.txt_nproduto.Text); 
      createCommand.Parameters.AddWithValue("@quantidade", this.txtquantidade.Text); 
      createCommand.Parameters.AddWithValue("@preco_unitario", Convert.ToDecimal(this.txtpreco.Text)); 
      createCommand.Parameters.AddWithValue("@iva", Convert.ToDecimal(this.txtiva.Text)); 
      createCommand.ExecuteNonQuery(); 
      MessageBox.Show("Registo adicionado com sucesso!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); 
      con.Close(); 
     } 
     catch(Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 

     //"insert into Produtos (id_subcategoria, nome_produto, quantidade, preco_unitario, iva) values('" + this.label4.Text + "','" + this.txt_nproduto.Text + "','" + this.txtquantidade.Text + "','" + this.txtpreco.Text + "','" + this.txtiva.Text + "') ;"; 
    } 

我发现了一个错误,而在btnguardar单击和开放的MessageBox说错误“的关键字附近有语法错误,其中”

你们可以帮我“关键字‘其中’附近有语法错误”这件事?

+1

这是什么版本的SQL?微软SQL? [Insert语句](https://msdn.microsoft.com/en-us/library/ms174335.aspx?f=255&MSPPError=-2147217396)没有where子句。 –

+0

您的注释行更接近正确的语法(尽管您应该使用参数)。 –

+0

你的错误是在你的查询语句中,它与out插入到表中,你正在设置语句 –

string Query = 
"INSERT INTO Produtos (id_subcategoria, nome_produto, quantidade, preco_unitario, iva) 
VALUES (@id_subcategoria, @nome_produto, @quantidade, @preco_unitario, @iva)";