Тема: DatePicker не передає NULL до БД
Виникла проблема, при передачі інформації з DatePicker (WPF) до БД MS Sql. Якщо значення DatePicker дорівнює NULL отримую помилку. Як треба передати це значення, щоб якщо не потрібно заповнювати ту чи іншу дату, до БД передавалося значення NULL.
private void btnsave_Click(object sender, RoutedEventArgs e)
{
FileStream fs = new FileStream(imageName, FileMode.Open, FileAccess.Read);
byte[] imgByteArr = new byte[fs.Length];
fs.Read(imgByteArr, 0, Convert.ToInt32(fs.Length));
fs.Close();
if (iDTextBox.Text != "")
{
using (con = new SqlConnection(constr))
{
con.Open();
string sql = "insert into OKP(ID,Data_zap,Stat,Vid_rob,Sname,Name,Pobat,Day_nar,Gromad,Osvita,Prof_Pidgotov,Prof_Pidgotov_Name,Prof_Pidgotov_Diplom,Prof_Pidgotov_rik_zakin,Prof_Pidgotov_Nayk_styp,Ostan_misce_rob,Ostan_prof,Stag_rob_zadal_day,Stag_rob_zadal_month,Stag_rob_zadal_year,Vislyga_day,Vislyga_month,Vislyga_year,Zvil_date,Zvil_prich,Vidomist_pensi_viplat,Family_stan,Telephone,Tel_dodatkov,Email,Fakt_prog_oblast,Fakt_prog_misto_rayon,Fakt_prog_misto_selo,Fakt_prog_tip_vyl,Fakt_prog_name_vyl,Fakt_prog_bydinoc,Fakt_prog_kvartira,Fakt_prog_pochtov_index,Propisk_prog_oblast,Propisk_prog_misto_rayon,Propisk_prog_misto_selo,Propisk_prog_tip_vyl,Propisk_prog_name_vyl,Propisk_prog_bydinoc,Propisk_prog_kvartira,Propisk_prog_pochtov_index,Pas_seria,Pas_nom,Pas_kim_vidan,Pas_data_vidachi,Image_Prac,V_Grupa_oblic,V_Kategoria,V_Sklad,V_Zvannya,V_Spesial,V_Predatnist,V_Name_viyskomat_reestracia,V_Name_viyskomat_fact,V_Spec_oblic,Dodat_vidom,Zvil_rob_date,Zvil_rob_prich) Values(@ID,@Data_zap,@Stat,@Vid_rob,@Sname,@Name,@Pobat,@Day_nar,@Gromad,@Osvita,@Prof_Pidgotov,@Prof_Pidgotov_Name,@Prof_Pidgotov_Diplom,@Prof_Pidgotov_rik_zakin,@Prof_Pidgotov_Nayk_styp,@Ostan_misce_rob,@Ostan_prof,@Stag_rob_zadal_day,@Stag_rob_zadal_month,@Stag_rob_zadal_year,@Vislyga_day,@Vislyga_month,@Vislyga_year,@Zvil_date,@Zvil_prich,@Vidomist_pensi_viplat,@Family_stan,@Telephone,@Tel_dodatkov,@Email,@Fakt_prog_oblast,@Fakt_prog_misto_rayon,@Fakt_prog_misto_selo,@Fakt_prog_tip_vyl,@Fakt_prog_name_vyl,@Fakt_prog_bydinoc,@Fakt_prog_kvartira,@Fakt_prog_pochtov_index,@Propisk_prog_oblast,@Propisk_prog_misto_rayon,@Propisk_prog_misto_selo,@Propisk_prog_tip_vyl,@Propisk_prog_name_vyl,@Propisk_prog_bydinoc,@Propisk_prog_kvartira,@Propisk_prog_pochtov_index,@Pas_seria,@Pas_nom,@Pas_kim_vidan,@Pas_data_vidachi,@Image_Prac,@V_Grupa_oblic,@V_Kategoria,@V_Sklad,@V_Zvannya,@V_Spesial,@V_Predatnist,@V_Name_viyskomat_reestracia,@V_Name_viyskomat_fact,@V_Spec_oblic,@Dodat_vidom,@Zvil_rob_date,@Zvil_rob_prich)";
using (cmd = new SqlCommand(sql, con))
{
cmd.Parameters.AddWithValue("@ID", iDTextBox.Text);
cmd.Parameters.AddWithValue("@Data_zap", data_zapDatePicker.SelectedDate);
cmd.Parameters.AddWithValue("@Stat", statComboBox.Text);
cmd.Parameters.AddWithValue("@Vid_rob", vid_robComboBox.Text);
cmd.Parameters.AddWithValue("@Sname", snameTextBox.Text);
cmd.Parameters.AddWithValue("@Name", nameTextBox.Text);
cmd.Parameters.AddWithValue("@Pobat", pobatTextBox.Text);
cmd.Parameters.AddWithValue("@Day_nar", day_narDatePicker.SelectedDate);
cmd.Parameters.AddWithValue("@Gromad", gromadTextBox.Text);
cmd.Parameters.AddWithValue("@Osvita", osvitaComboBox.Text);
cmd.Parameters.AddWithValue("@Prof_Pidgotov", prof_PidgotovComboBox.Text);
cmd.Parameters.AddWithValue("@Prof_Pidgotov_Name", prof_Pidgotov_NameTextBox.Text);
cmd.Parameters.AddWithValue("@Prof_Pidgotov_Diplom", prof_Pidgotov_DiplomTextBox.Text);
cmd.Parameters.AddWithValue("@Prof_Pidgotov_rik_zakin", prof_Pidgotov_rik_zakinDatePicker.SelectedDate);
cmd.Parameters.AddWithValue("@Prof_Pidgotov_Nayk_styp", prof_Pidgotov_Nayk_stypTextBox.Text);
cmd.Parameters.AddWithValue("@Ostan_misce_rob", ostan_misce_robTextBox.Text);
cmd.Parameters.AddWithValue("@Ostan_prof", ostan_profTextBox.Text);
cmd.Parameters.AddWithValue("@Stag_rob_zadal_day", stag_rob_zadal_dayTextBox.Text);
cmd.Parameters.AddWithValue("@Stag_rob_zadal_month", stag_rob_zadal_monthTextBox.Text);
cmd.Parameters.AddWithValue("@Stag_rob_zadal_year", stag_rob_zadal_yearTextBox.Text);
cmd.Parameters.AddWithValue("@Vislyga_day", vislyga_dayTextBox.Text);
cmd.Parameters.AddWithValue("@Vislyga_month", vislyga_monthTextBox.Text);
cmd.Parameters.AddWithValue("@Vislyga_year", vislyga_yearTextBox.Text);
cmd.Parameters.AddWithValue("@Zvil_date", zvil_dateDatePicker.SelectedDate);
cmd.Parameters.AddWithValue("@Zvil_prich", zvil_prichTextBox.Text);
cmd.Parameters.AddWithValue("@Vidomist_pensi_viplat", vidomist_pensi_viplatTextBox.Text);
cmd.Parameters.AddWithValue("@Family_stan", family_stanComboBox.Text);
cmd.Parameters.AddWithValue("@Telephone", telephoneTextBox.Text);
cmd.Parameters.AddWithValue("@Tel_dodatkov", tel_dodatkovTextBox.Text);
cmd.Parameters.AddWithValue("@Email", emailTextBox.Text);
cmd.Parameters.AddWithValue("@Fakt_prog_oblast", fakt_prog_oblastTextBox.Text);
cmd.Parameters.AddWithValue("@Fakt_prog_misto_rayon", fakt_prog_misto_rayonTextBox.Text);
cmd.Parameters.AddWithValue("@Fakt_prog_misto_selo", fakt_prog_misto_seloTextBox.Text);
cmd.Parameters.AddWithValue("@Fakt_prog_tip_vyl", fakt_prog_tip_vylComboBox.Text);
cmd.Parameters.AddWithValue("@Fakt_prog_name_vyl", fakt_prog_name_vylTextBox.Text);
cmd.Parameters.AddWithValue("@Fakt_prog_bydinoc", fakt_prog_bydinocTextBox.Text);
cmd.Parameters.AddWithValue("@Fakt_prog_kvartira", fakt_prog_kvartiraTextBox.Text);
cmd.Parameters.AddWithValue("@Fakt_prog_pochtov_index", fakt_prog_pochtov_indexTextBox.Text);
cmd.Parameters.AddWithValue("@Propisk_prog_oblast", propisk_prog_oblastTextBox1.Text);
cmd.Parameters.AddWithValue("@Propisk_prog_misto_rayon", propisk_prog_misto_rayonTextBox1.Text);
cmd.Parameters.AddWithValue("@Propisk_prog_misto_selo", propisk_prog_misto_seloTextBox1.Text);
cmd.Parameters.AddWithValue("@Propisk_prog_tip_vyl", propisk_prog_tip_vylComboBox1.Text);
cmd.Parameters.AddWithValue("@Propisk_prog_name_vyl", propisk_prog_name_vylTextBox1.Text);
cmd.Parameters.AddWithValue("@Propisk_prog_bydinoc", propisk_prog_bydinocTextBox1.Text);
cmd.Parameters.AddWithValue("@Propisk_prog_kvartira", propisk_prog_kvartiraTextBox1.Text);
cmd.Parameters.AddWithValue("@Propisk_prog_pochtov_index", propisk_prog_pochtov_indexTextBox1.Text);
cmd.Parameters.AddWithValue("@Pas_seria", pas_seriaTextBox.Text);
cmd.Parameters.AddWithValue("@Pas_nom", pas_nomTextBox.Text);
cmd.Parameters.AddWithValue("@Pas_kim_vidan", pas_kim_vidanTextBox.Text);
cmd.Parameters.AddWithValue("@Pas_data_vidachi", pas_data_vidachiDatePicker.SelectedDate);
cmd.Parameters.AddWithValue("@Image_Prac", imgByteArr);
cmd.Parameters.AddWithValue("@V_Grupa_oblic", v_Grupa_oblicTextBox.Text);
cmd.Parameters.AddWithValue("@V_Kategoria", v_KategoriaTextBox.Text);
cmd.Parameters.AddWithValue("@V_Sklad", v_SkladTextBox.Text);
cmd.Parameters.AddWithValue("@V_Zvannya", v_ZvannyaTextBox.Text);
cmd.Parameters.AddWithValue("@V_Spesial", v_SpesialTextBox.Text);
cmd.Parameters.AddWithValue("@V_Predatnist", v_PredatnistTextBox.Text);
cmd.Parameters.AddWithValue("@V_Name_viyskomat_reestracia", v_Name_viyskomat_reestraciaTextBox.Text);
cmd.Parameters.AddWithValue("@V_Name_viyskomat_fact", v_Name_viyskomat_factTextBox.Text);
cmd.Parameters.AddWithValue("@V_Spec_oblic", v_Spec_oblicTextBox.Text);
cmd.Parameters.AddWithValue("@Dodat_vidom", dodat_vidomTextBox.Text);
cmd.Parameters.AddWithValue("@Zvil_rob_date", zvil_rob_dateDatePicker.SelectedDate);
cmd.Parameters.AddWithValue("@Zvil_rob_prich", zvil_rob_prichTextBox.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Користувач '" + snameTextBox.Text + "' '" + nameTextBox.Text + "' доданий", "Сповіщення", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
}
else MessageBox.Show("Введіть Ідентифікаційний код!", "Помилка", MessageBoxButton.OK, MessageBoxImage.Error);
}