![](/img/trans.png)
[英]Conversion failed when converting the nvarchar value 'OrgID' to data type int
[英]Conversion failed when converting the nvarchar value 'Part 1' to data type int
C#中的代码:-
private void btn_Add_Click(object sender, EventArgs e)
{
for (int i = 0; i < dgv_Add_job_card.Rows.Count; i++)
{
con.Open();
s = "insert into Auto_Part_Details (Items_No, Job_Card, Value_Part, Auto_Parts_id) values (@Items_No, @Job_Card, @Value_Part,@Auto_Parts_id )";
sd=new SqlCommand(s,con);
sd.Parameters.AddWithValue("@Items_No", dgv_Add_job_card.Rows[i].Cells[0].Value);
sd.Parameters.AddWithValue("@Job_Card", dgv_Add_job_card.Rows[i].Cells[1].Value);
sd.Parameters.AddWithValue("@Value_Part", dgv_Add_job_card.Rows[i].Cells[2].Value);
sd.Parameters.AddWithValue("@Auto_Parts_id", dgv_Add_job_card.Rows[i].Cells[3].Value);
sd.ExecuteNonQuery();
con.Close();
}
}
该行中的错误:-
sd.Parameters.AddWithValue("@Auto_Parts_id", dgv_Add_job_card.Rows[i].Cells[3].Value);
这行是一个组合框,表格是:-Auto_Parts_id(int),Auto_Part_desc(varchar(50))
并且此表单具有仅显示数据的数据网格视图,此后,我添加了所有数据,然后将其插入到数据网格视图中。
我在数据网格视图中显示数据的代码是:-
private void btn_Add_Job_card_Click(object sender, EventArgs e)
{
Validation_Add_Job_card_order();
if (validate == true)
{
DataRow r = dt.NewRow();
// = dt.Rows.Count + 1;
r[0] = dt.Rows.Count + 1;
//r[0] = txt_Items_No.Text;
r[1] = txt_Job_card.Text;
r[2] = txt_Value_Part.Text;
r[3] = CB_Auto_parts.Text;
r[4] = x;
r[5] = CB_Providers_desc.Text;
r[6] = CB_Hand_installation.Text;
r[7] = txt_Notes.Text;
dt.Rows.Add(r);
dgv_Add_job_card.DataSource = dt;
ClearText();
txt_Total_Values.Text = (from DataGridViewRow row in dgv_Add_job_card.Rows
where row.Cells[2].FormattedValue.ToString() != string.Empty
select Convert.ToDouble(row.Cells[2].FormattedValue)).Sum().ToString();
}
}
问题是表中的Auto_Parts_id
列是整数类型,但是您试图插入作为字符串的值“ Part 1
”,并且不能将其隐式转换为整数。
在btn_Add_Job_card_Click
方法中,您需要进行以下设置:
r[3] = CB_Auto_parts.Text;
...然后在插入时使用此代码:
sd.Parameters.AddWithValue("@Auto_Parts_id", dgv_Add_job_card.Rows[i].Cells[3].Value);
如果要使用ID而不是文本,则也可以将其存储在数据行中,并将其用作参数值而不是文本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.