参数@Item_code未提供错误 [英] Parameter @Item_code was not supplied something error
本文介绍了参数@Item_code未提供错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Hello Frnds,
Hello Frnds,
private void button3_Click(object sender, EventArgs e)
{
try
{
for (int i = 0; i < dataGridView1.Rows.Count-1 ; i++)
{
BILLId();
ID();
SqlConnection con = new SqlConnection(@"Data Source=localhost;Initial Catalog=ParamBills;Persist Security Info=True;User ID=sa;Password=login");
SqlCommand cmd = new SqlCommand("insert_Sales_Details", con);
con.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@id", SqlDbType.Int ).Value = textBox9.Text;
cmd.Parameters.Add("@Bill_No", SqlDbType.NVarChar).Value = textBox8.Text;
cmd.Parameters.Add("@SDate", SqlDbType.DateTime).Value = dateTimePicker1.Text;
cmd.Parameters.Add("@Sales_Person", SqlDbType.NVarChar).Value = textBox6.Text;
cmd.Parameters.Add("@Cashcounter_No", SqlDbType.NVarChar).Value = textBox7.Text;
cmd.Parameters.Add("@Tax2", SqlDbType.Float).Value = textBox3.Text;
cmd.Parameters.Add("@Sub_Total", SqlDbType.Float).Value = textBox10.Text;
cmd.Parameters.Add("@Discount", SqlDbType.Float ).Value = textBox5.Text;
cmd.Parameters.Add("@Total", SqlDbType.Float).Value = textBox2.Text;
cmd.Parameters.Add("@Total2", SqlDbType.Float).Value = textBox4.Text;
cmd.Parameters.Add("Total_Item", SqlDbType.Int).Value = textBox11.Text;
cmd.Parameters.Add("@Product_Code", SqlDbType.NVarChar).Value = dataGridView2.Rows[i].Cells[0].Value;
cmd.Parameters.Add("@Product_Type", SqlDbType.NVarChar).Value = dataGridView2.Rows[i].Cells[1].Value;
cmd.Parameters.Add("@Product_Type_Code", SqlDbType.NVarChar).Value = dataGridView2.Rows[i].Cells[2].Value;
cmd.Parameters.Add("@Product_Name", SqlDbType.NVarChar).Value = dataGridView2.Rows[i].Cells[3].Value;
cmd.Parameters.Add("@Item_Code", SqlDbType.NVarChar).Value = dataGridView2.Rows[i].Cells[4].Value;
// cmd.Parameters.AddWithValue("@Item_Code", dataGridView2.Rows[i].Cells[4].Value);
cmd.Parameters.Add("@Item_Name", SqlDbType.NVarChar).Value = dataGridView2.Rows[i].Cells[5].Value;
cmd.Parameters.Add("@Qty", SqlDbType.Int).Value = dataGridView2.Rows[i].Cells[6].Value;
cmd.Parameters.Add("@Tax", SqlDbType.Float).Value = dataGridView2.Rows[i].Cells[7].Value;
cmd.Parameters.Add("@Selling_Price", SqlDbType.Float).Value = dataGridView2.Rows[i].Cells[8].Value;
cmd.Parameters.Add("@Product_Price", SqlDbType.Float).Value = dataGridView2.Rows[i].Cells[9].Value;
cmd.ExecuteNonQuery();
con.Close();
}
MessageBox.Show("Saved");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
推荐答案
HI
打字错误..
Item_Code
- >将其更改为Item_code
在sql中定义为Item_code
但在c#中你输入了Item_Code
HI its a typing error..
Item_Code
-> change it toItem_code
in sql it is defined as "Item_code
" but in c# you have typed as "Item_Code
"
使用调试器:首先打破行
Use the debugger: First break out the line
cmd.Parameters.Add("@Item_Code", SqlDbType.NVarChar).Value = dataGridView2.Rows[i].Cells[4].Value;
要
To
object obj = dataGridView2.Rows[i].Cells[4].Value;
cmd.Parameters.Add("@Item_Code", SqlDbType.NVarChar).Value = obj;
然后在这两个的第二行放一个断点,并检查obj的内容
可能是null - 这让SQL很混乱除非你说你的存储过程中参数可能为null。
Then put a breakpoint on the the second line of those two, and examine the contents of "obj"
Probably, it is null - which is confusing SQL unless you said the parameter could be null in your stored procedure.
检查这一行是否正确通过制动点....
check out this line a proper through brake point....
cmd.Parameters.Add("@Item_Code", SqlDbType.NVarChar).Value = dataGridView2.Rows[i].Cells[4].Value;
你可以试试这个像另一个字符串数据类型的值。
you can try this like a hole the value of another string data type.
string Testing = dataGridView2.Rows[i].Cells[4].Value;
如果测试有一些值,那么你的程序有另一个错误..在断点的帮助下检查。
if Testing have a some value then your program have another error..check out with the help of Break point.
这篇关于参数@Item_code未提供错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文