나는 combobox 값에서 Null 참조 예외가 있습니다. 데이터베이스에서 null을 허용합니다. 그러나 그것은 효과가 없습니다. 어떻게해야합니까? 코멘트에서 예외 영역을 언급합니다. 여기에 내 소스 코드가 있습니다.NullReference 예외 C# 동안 데이터베이스 entary
private void button1_Click(object sender, EventArgs e)
{
con.Open();
cmd.CommandText = "insert into mytable (userid, password, gender) values (@userid, @password, @gender)";
cmd.Parameters.AddWithValue("@userid", textBox1.Text);
cmd.Parameters.AddWithValue("@password", textBox2.Text);
cmd.Parameters.AddWithValue("@gender", comboBox1.SelectedItem.ToString());//Here is exception line (NullReference Exception)
cmd.ExecuteNonQuery();
cmd.Clone();
con.Close();
MessageBox.Show("Record Added");
}
private void Form2_Load(object sender, EventArgs e)
{
cmd.Connection = con;
}
감사합니다. 그것은 작동합니다. 하지만 콤보 박스의 null 값을 데이터베이스에 추가하려면 왜 처리해야합니까? –
@ TahirAziz 다른 점은 데이터베이스가 지원하는 경우 매우 자유롭게 'null'을 삽입 할 수 있다는 것입니다. . NET에서, 당신이 할 수있는 일은, 당신이 여기에서하고있는 것 인 "null"에 대한 액세스 _ 멤버 인 것입니다. 따라서 멤버에 액세스하기 전에'null'을 체크하고,'null'이라면 그 값을 삽입하고, 그렇지 않으면 값을 사용하십시오. –
@TahirAziz DB에서 값을 null로 지정하려면 다음과 같이합니다. cmd.Parameters.AddWithValue ("@ gender", comboBox1.SelectedItem == null? DBNull.Value : (object) comboBox1.SelectedItem.ToString ()); –