ExecuteNonQuery() 中的错误

本文关键字:错误 ExecuteNonQuery | 更新日期: 2023-09-27 18:37:07

我在ExecuteNonQuery();上不断收到错误。我尝试了很多方法,但不知道我错在哪里。

我在 SQL Server 中的订单 ID、价格、数量、折扣、订单价格列中使用float数据类型。

请帮忙。

string query = "Insert into  dbo.orders (OrderType,Product_Name,Product_Category,Product_Quantity,Product_Price,Date,Discount) values(@txt_rdvalue,@cb_oname,@cb_ocat,@cb_oqty,@txt_oprice,@Date,@txt_disc)";
if (string.IsNullOrWhiteSpace(txt_rdvalue.Text) || string.IsNullOrWhiteSpace(cb_oname.Text) || string.IsNullOrWhiteSpace(cb_ocat.Text) || string.IsNullOrWhiteSpace(cb_oqty.Text))
{
    lbl_incorrect.Text = "please fill up all the fields";
    lbl_incorrect.Visible = true;
}
else
{
    using (SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=Pizza Mania;Integrated Security=True"))
    {
        using (SqlCommand cmd = new SqlCommand(query, con))
        {
            cmd.CommandType = CommandType.Text;
            cmd.Connection = con;
            con.Open();
            cmd.Parameters.AddWithValue("@txt_rdvalue",txt_rdvalue.Text);
            cmd.Parameters.AddWithValue("@txt_orderid",txt_orderid.Text);
            cmd.Parameters.AddWithValue("@cb_oname", cb_oname.SelectedText);
            cmd.Parameters.AddWithValue("@cb_ocat", cb_ocat.SelectedText);
            cmd.Parameters.AddWithValue("@cb_oqty", cb_oqty.SelectedValue);
            cmd.Parameters.AddWithValue("@txt_oprice", (txt_oprice.Text));
            cmd.Parameters.AddWithValue("@txt_disc", txt_rdvalue.Text);
            cmd.Parameters.Add(new SqlParameter("@Date", dateTimePicker1.Value.Date));
            cmd.ExecuteNonQuery();
            MessageBox.Show("Data Inserted");
        }
    }
}

我收到的错误消息:

参数化查询 '(@txt_rdvalue nvarchar(8),@txt_orderid int,@cb_oname nvarchar(40' 需要参数 '@cb_oqty',即 未提供

ExecuteNonQuery() 中的错误

yes i have done it. The convert to double thing works 
thankyou all 
Appriciated.[enter link description here][1]

cmd.Parameters.AddWithValue("@txt_rdvalue",txt_rdvalue.Text);
                        cmd.Parameters.AddWithValue("@txt_orderid",Convert.ToDouble(txt_orderid.Text));
                        cmd.Parameters.AddWithValue("@cb_oname", cb_oname.SelectedText);
                        cmd.Parameters.AddWithValue("@cb_ocat", cb_ocat.SelectedText);
                        cmd.Parameters.AddWithValue("@cb_oqty", Convert.ToDouble(cb_oqty.SelectedValue));
                        cmd.Parameters.AddWithValue("@txt_oprice",Convert.ToDouble((txt_oprice.Text)));
                        cmd.Parameters.AddWithValue("@txt_disc",Convert.ToDouble(txt_disc.Text));
                        cmd.Parameters.Add(new SqlParameter("@Date", dateTimePicker1.Value.Date));

  [1]: http://www.stackoverflow.com/alygorejaanswers

您提供的参数不存在@txt_orderidcmd.Parameters.AddWithValue("@txt_orderid",txt_orderid.Text);)。再次检查您的代码。

如果它是autoincrement列,你为什么要提供这个。

数据类型不匹配也在发生。