在将 varchar 值 'System.Data.DataRowView' 转换成数据类型 int 时失败。
private void button1_Click(object sender, EventArgs e)
{
SqlConnection sqlconn = new SqlConnection();
sqlconn.ConnectionString = "Data source=(local);Initial Catalog=StudentManger;Integrated Security=true";
sqlconn.Open();
if (this.text_Sno .Text .Trim ()== "" || this.textBox_age .Text .Trim ()== "" ||this.textBox_name.Text.Trim () == ""||this.textBox_year.Text .Trim ()=="")
{
MessageBox.Show("添加信息不完整!");
return;
}
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "select * from Student where Sno='" + this.text_Sno.Text.Trim () + "'";
cmd.Connection = sqlconn;
if (cmd.ExecuteScalar() != null)
MessageBox.Show("学生号重复,请重新输入!", "提示", 0);
else
{
SqlCommand cmd1 = new SqlCommand();
cmd1.Connection = sqlconn;
cmd1.CommandText = "insert into Student values('" + this.text_Sno.Text.Trim() + "','" + this.textBox_name.Text.Trim() + "','" + int.Parse(this.textBox_age.Text.Trim()) + "','" + (this.radioButtonMale.Checked ? "女" : "男").ToString() + "','" + this.comboBox_yx.SelectedValue + "','" + this.textBox_year.Text.Trim() + "')";
cmd1.ExecuteNonQuery();
MessageBox.Show("已添加成功!");
}
sqlconn.Close();
}
红色部分 '" + this.comboBox_yx.SelectedValue + "' 老是报错:在将 varchar 值 'System.Data.DataRowView' 转换成数据类型 int 时失败。
comboBox_yx 在窗体load事件中进行绑定:
this.comboBox_yx.DisplayMember = "DepartmentName";
this.comboBox_yx.ValueMember = "DepartmentId";//DepartmentId的类型为int
this.comboBox_yx.DataSource = ds.Tables[0].DefaultView;