0
我总是碰到下面的错误,一旦我用我的组合框检索从我的数据库使用整数数据类型记录:转换失败
转换失败当将varchar值“System.Data.DataRowView”转换为数据类型int时。
它工作时,我替换我的查询和检索具有varchar数据类型的记录。
有人可以帮助我如何修改我的代码,以获得预期的输出?
这里是我的代码:
public void fillSupplier()
{
SqlConnection conn = new SqlConnection("Data Source=STATION21\\SQLEXPRESS;Initial Catalog=mydb;Integrated Security=true");
conn.Open();
string query = "Select supID from Supplier";
SqlCommand cmd= new SqlCommand(query,conn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0) {
cmbSupp.DataSource = dt;
cmbSupp.DisplayMember = "supID";
cmbSupp.ValueMember = "supID";
}
}
private void cmbSupp_SelectedIndexChanged(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Data Source=STATION21\\SQLEXPRESS;Initial Catalog=mydb;Integrated Security=true");
conn.Open();
this.Refresh();
string query = "Select * from Supplier where supID='"+cmbSupp.Text+"'";
SqlCommand cmd = new SqlCommand(query,conn);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read()) {
tbsName.Text = dr["supName"].ToString();
tbsContact.Text = dr["supLocation"].ToString();
tbsLoc.Text = dr["supContact"].ToString();
}
}
输入字符串格式不正确。我该如何解决它? – user3500993
哪一行引发该错误?当你遇到这个错误时'cmbSupp.Text'的价值是什么? –
this cmd.Parameters.AddWithValue(“@ id”,int.Parse(cmbSupp.Text)); – user3500993