저는 프로그래밍 및 C#에 익숙하지 않아서 클라이언트 이름, 전화 및 주소를 저장할 수있는 SQL 서버에 연결된 작은 응용 프로그램을 만들려고합니다. 나는 이미 "존재한다면 데이터를 확인하고있다"라는 한 가지 문제에 직면하고있다. 항상 null이 아니며 저장할 수 없다는 것을 말하고있다. 나는 약간의 도움에 감사드립니다. 나는 그것이 매우 멍청하고 귀찮게해서 미안하다는 것을 안다.C# - 쿼리가 null이되지 않습니다?
//Create and Open Connection
SqlConnection con = new SqlConnection("Data Source=KDC-LP\\SQLEXPRESS;Initial Catalog=ClientsDB;Integrated Security=True");
SqlDataReader reader = null;
con.Open();
//Finding if data already exists
SqlCommand cmd = new SqlCommand("select name from clients where name = @name or phone1 in (@phone1, @phone2, @phone3) ", con);
cmd.Parameters.AddWithValue("@name", textbox1.Text);
cmd.Parameters.AddWithValue("@phone1", textbox2.Text);
cmd.Parameters.AddWithValue("@phone2", textbox3.Text);
cmd.Parameters.AddWithValue("@phone3", textbox4.Text);
reader = cmd.ExecuteReader();
//Saving or not ?
MessageBoxResult msg = MessageBox.Show("Are you sure you want to save the new data", " Save", MessageBoxButton.YesNo, MessageBoxImage.Question);
switch (msg)
{
case MessageBoxResult.Yes:
if (reader != null) //Name, Phones already exists
{
reader.Close();
MessageBoxResult notsaved = MessageBox.Show("Data already exists please check", "Save", MessageBoxButton.OK, MessageBoxImage.Warning);
}
else
{
//Saving
reader.Close();
SqlCommand cmdins = new SqlCommand("INSERT INTO Clients (name,phone1,phone2,phone3,address) Values ('" + textbox1.Text + "', '" + textbox2.Text + "', '" + textbox3.Text + "', '" + textbox4.Text + "', '" + textbox5.Text + "')", con);
cmdins.ExecuteNonQuery();
textbox1.Clear();
textbox2.Clear();
textbox3.Clear();
textbox4.Clear();
textbox5.Clear();
MessageBoxResult saved = MessageBox.Show("Data is Saved", "Save", MessageBoxButton.OK, MessageBoxImage.Information);
}
break;
//Not Saving
case MessageBoxResult.No:
{
MessageBoxResult msgno = MessageBox.Show("Data is not saved", "Save", MessageBoxButton.OK, MessageBoxImage.Warning);
}
break;
}
//Closing Connection
con.Close();
당신은'cmd.ExecuteReader()를 말한다; ''SqlDataReader'를 항상 반환하므로'reader'는'null'이 될 수 없습니다. –