参数@Item_code未提供错误 [英] Parameter @Item_code was not supplied something error

查看:152
本文介绍了参数@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 to Item_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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆