private void ReadData(string number, string station, string dept_time, string travel_time, string ticket) { int numb = Convert.ToInt32(number); string stat = station; string dtime = dept_time; string[] arr = dtime.Split(':'); string ttime = trav_time.Text; string[] mas = ttime.Split(':'); int tick = Convert.ToInt32(tickets.Text); try { if (numb <= 0 || Convert.ToInt32(arr[0]) < 0 || Convert.ToInt32(arr[0]) > 23 || tick < 0 || Convert.ToInt32(mas[0]) < 0 || Convert.ToInt32(mas[0]) > 23 || Convert.ToInt32(mas[1]) < 0 || Convert.ToInt32(arr[1]) < 0 || Convert.ToInt32(arr[1]) > 59 || Convert.ToInt32(mas[1]) > 59) { MessageBox.Show("Номер повинен бути більшим за нуль\nЧас відправлення та прибуття повинні бути у такому форматі hh:mm(години від 0 до 23, хвилини від 0 до 59)\nКількість квитків повинна бути додатньою\nЧас в дорозі повинен бути додатнім \nВведіть коректні дані", "Некоректні вхідні дані", MessageBoxButton.OK, MessageBoxImage.Warning); } else { TimeSpan time_of_dept = Convert.ToDateTime(dept_time).TimeOfDay; TimeSpan time_of_travel = TimeSpan.FromHours( Convert.ToDouble(ttime.Split(':')[0])). Add(TimeSpan.FromMinutes( Convert.ToDouble((ttime.Split(':')[1])))); ClassTrip trip = new ClassTrip(Convert.ToUInt16(numb), stat, time_of_dept, time_of_travel, tick); using (SqlConnection conn = DBUtils.GetDBConnection()) { try { conn.Open(); int k = DBUtils.InsertDataTrip(conn, trip); if (k == 0) { MessageBox.Show("Такий рейс вже присутній в списку"); } conn.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } } catch (Exception ex) { MessageBox.Show(ex.StackTrace); } }
public static int InsertDataTrip(SqlConnection conn, ClassTrip ins_trip) { string sql = $"INSERT INTO trips_info(number, station, dept_time, travel_time, tickets) VALUES (@number_param, @station_param, @dept_time_param, @travel_time_param, @tickets_param)"; SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = sql; cmd.Parameters.Add("@number_param", SqlDbType.SmallInt).Value = ins_trip.Number; cmd.Parameters.Add("@station_param", SqlDbType.NVarChar).Value = ins_trip.Station; cmd.Parameters.Add("@dept_time_param", SqlDbType.Time).Value = ins_trip.Dept_time; cmd.Parameters.Add("@travel_time_param", SqlDbType.Time).Value = ins_trip.Travel_time; cmd.Parameters.Add("@tickets_param", SqlDbType.Int).Value = ins_trip.Tickets; int rowCount = cmd.ExecuteNonQuery(); return(rowCount); }
public static int UpdateDataTrip(SqlConnection conn, ClassTrip ins_trip) { string sql = $"UPDATE trips_info SET station=@station_param, dept_time=@dept_time_param, travel_time=@travel_time_param, tickets=@tickets_param WHERE number=@number_param"; SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = sql; cmd.Parameters.Add("@number_param", SqlDbType.SmallInt).Value = ins_trip.Number; cmd.Parameters.Add("@station_param", SqlDbType.NVarChar).Value = ins_trip.Station; cmd.Parameters.Add("@dept_time_param", SqlDbType.Time).Value = ins_trip.Dept_time; cmd.Parameters.Add("@travel_time_param", SqlDbType.Time).Value = ins_trip.Travel_time; cmd.Parameters.Add("@tickets_param", SqlDbType.Int).Value = ins_trip.Tickets; int rowCount = cmd.ExecuteNonQuery(); return(rowCount); }
private void Button_Click(object sender, RoutedEventArgs e) { int numb = Convert.ToInt32(number.Text); string stat = station.Text; string dtime = dept_time.Text; string[] arr = dtime.Split(':'); string ttime = travel_time.Text; string[] mas = ttime.Split(':'); int tick = Convert.ToInt32(tickets.Text); if (numb <= 0 || Convert.ToInt32(arr[0]) < 0 || Convert.ToInt32(arr[0]) > 23 || tick < 0 || Convert.ToInt32(mas[0]) < 0 || Convert.ToInt32(mas[0]) > 23 || Convert.ToInt32(mas[1]) < 0 || Convert.ToInt32(arr[1]) < 0 || Convert.ToInt32(arr[1]) > 59 || Convert.ToInt32(mas[1]) > 59) { MessageBox.Show("Номер повинен бути більшим за нуль\nЧас відправлення та прибуття повинні бути у такому форматі hh:mm(години від 0 до 23, хвилини від 0 до 59)\nКількість квитків повинна бути додатньою\nЧас в дорозі повинен бути додатнім \nВведіть коректні дані", "Некоректні вхідні дані", MessageBoxButton.OK, MessageBoxImage.Warning); } else { TimeSpan time_of_dept = Convert.ToDateTime(dept_time.Text).TimeOfDay; TimeSpan time_of_travel = Convert.ToDateTime(travel_time.Text).TimeOfDay; ClassTrip trip = new ClassTrip(Convert.ToUInt16(numb), stat, time_of_dept, time_of_travel, tick); using (SqlConnection conn = DBUtils.GetDBConnection()) { try { conn.Open(); int k = DBUtils.UpdateDataTrip(conn, trip); if (k == 0) { MessageBox.Show("Даний запис відсутній"); } conn.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } this.Close(); } }