繁体   English   中英

ExecuteNonQuery()中的错误

[英]Error in ExecuteNonQuery()

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

我在SQL Server中的订单编号,价格,数量,折扣,订单价格列中使用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',未提供

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为什么要提供它。

同样,数据类型不匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM