C# 转换nvarchar值时转换失败';第1部分&x27;到数据类型int
C#中的代码: 此行是一个组合框,表为:-自动零件id(int), 自动零件描述(varchar(50)) 这个表单有一个数据网格视图,只显示数据,然后我将所有数据添加到数据库的数据网格视图中 在数据网格视图中显示数据的代码是:-C# 转换nvarchar值时转换失败';第1部分&x27;到数据类型int,c#,sql,C#,Sql,C#中的代码: 此行是一个组合框,表为:-自动零件id(int), 自动零件描述(varchar(50)) 这个表单有一个数据网格视图,只显示数据,然后我将所有数据添加到数据库的数据网格视图中 在数据网格视图中显示数据的代码是:- private void btn_Add_Job_card_Click(object sender, EventArgs e) { Validation_Add_Job_card_order(); if (validate =
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\u Parts\u id
列是整数类型,但您试图插入值“part1
”,该值是字符串,无法隐式转换为整数
在您的btn\u添加\u作业\u卡\u单击方法中,您将设置以下内容:
r[3] = CB_Auto_parts.Text;
…然后在执行插入时使用此选项:
sd.Parameters.AddWithValue("@Auto_Parts_id", dgv_Add_job_card.Rows[i].Cells[3].Value);
如果您想要ID而不是文本,您也可以将其存储在datarow中,并将其用作参数值而不是文本。问题在于表中的自动零件ID
列是整数类型,但您正在尝试插入值“零件1
”,这是一个字符串,并且不能隐式转换为整数
在您的btn\u添加\u作业\u卡\u单击方法中,您将设置以下内容:
r[3] = CB_Auto_parts.Text;
…然后在执行插入时使用此选项:
sd.Parameters.AddWithValue("@Auto_Parts_id", dgv_Add_job_card.Rows[i].Cells[3].Value);
如果您想要ID而不是文本,您也可以将其存储在数据行中,并将其用作参数值而不是文本。如果您知道数据类型,请不要使用AddWithValue()
;指定类型。根据错误,Auto\u Parts\u Id
列是一个int
,但您尝试插入的值是一个字符串(“第1部分”)。您不能将其插入该列。我知道,但此值是我如何将其传递到数据库的组合框。如果您知道数据类型,请不要使用AddWithValue()
;指定类型。根据错误,Auto\u Parts\u Id
列是一个int
,但您尝试插入的值是一个字符串(“第1部分”)。你不能把它插入那个列。我知道,但这个值是组合框,我是如何将它传递到数据库的。是组合框,我使用此代码显示我在网格视图中选择的值,我希望将此值插入到DatabaseThis CB_Auto_parts。我用这个代码显示了我在网格视图中选择的值,我想把这个值插入数据库