[英]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_orderid ( cmd.Parameters.AddWithValue("@txt_orderid",txt_orderid.Text);
)参数不存在。请再次检查代码。
如果是autoincrement
为什么要提供它。
同样,数据类型不匹配。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.