internal static void UpdateRoutes(RoutesToUpdate routes) { connection.Open(); string values = routes._Id + ", "; values += routes.Trains_Id + ", "; values += routes.FirstStop_Id + ", "; values += routes.LastStop_Id + ", "; values += "\"" + routes.DepartmentTime + "\", "; values += "\"" + routes.ArrivalTime + "\""; SQLiteCommand command = new SQLiteCommand("INSERT INTO Маршруты VALUES (" + values + ")", connection); try { command.ExecuteNonQuery(); } catch { connection.Close(); MessageBox.Show("Ошибка ввода.", "Ошибка!"); return; } connection.Close(); }
internal static void UpdateTableRoutes(DataGridView DGV_ToUdpate, string selectedOperation) { int rowCount; if (selectedOperation == "Add") { rowCount = DGV_ToUdpate.RowCount - 1; } else { rowCount = DGV_ToUdpate.RowCount; } TrainsIdToName tbl = Database.SelectIdsAndNames("SELECT _id, Название FROM Поезда"); for (int i = 0; i < rowCount; i++) { bool exist = false; for (int k = 0; k < tbl._id.Count; k++) { if (DGV_ToUdpate.Rows[i].Cells[(int)RoutesColumnsIndexes.TrainName].Value.ToString() == tbl.Name[k]) { exist = true; DataGridViewTextBoxCell cell = new DataGridViewTextBoxCell(); DGV_ToUdpate.Rows[i].Cells[(int)RoutesColumnsIndexes.TrainName] = cell; DGV_ToUdpate.Rows[i].Cells[(int)RoutesColumnsIndexes.TrainName].Value = tbl._id[k]; } } if (!exist) { MessageBox.Show("Неудачный ввод", "Ошибка"); return; } } tbl = Database.SelectIdsAndNames("SELECT _id, Название FROM Остановки"); for (int i = 0; i < rowCount; i++) { bool fistExist = false; bool secondExist = false; for (int k = 0; k < tbl._id.Count; k++) { if (DGV_ToUdpate.Rows[i].Cells[(int)RoutesColumnsIndexes.FistStopName].Value.ToString() == tbl.Name[k]) { DataGridViewTextBoxCell cell = new DataGridViewTextBoxCell(); DGV_ToUdpate.Rows[i].Cells[(int)RoutesColumnsIndexes.FistStopName] = cell; DGV_ToUdpate.Rows[i].Cells[(int)RoutesColumnsIndexes.FistStopName].Value = tbl._id[k]; fistExist = true; } if (DGV_ToUdpate.Rows[i].Cells[(int)RoutesColumnsIndexes.LastStopName].Value.ToString() == tbl.Name[k]) { DataGridViewTextBoxCell cell = new DataGridViewTextBoxCell(); DGV_ToUdpate.Rows[i].Cells[(int)RoutesColumnsIndexes.LastStopName] = cell; DGV_ToUdpate.Rows[i].Cells[(int)RoutesColumnsIndexes.LastStopName].Value = tbl._id[k]; secondExist = true; } } if (!secondExist || !fistExist) { MessageBox.Show("Неудачный ввод", "Ошибка"); return; } } for (int i = 0; i < rowCount; i++) { RoutesToUpdate routesToUpdate = new RoutesToUpdate() { _Id = new int(), Trains_Id = new int(), FirstStop_Id = new int(), LastStop_Id = new int(), DepartmentTime = string.Empty, ArrivalTime = string.Empty }; for (int j = 0; j < DGV_ToUdpate.ColumnCount; j++) { routesToUpdate._Id = Convert.ToInt32(DGV_ToUdpate.Rows[i].Cells[j++].Value); routesToUpdate.Trains_Id = Convert.ToInt32(DGV_ToUdpate.Rows[i].Cells[j++].Value); routesToUpdate.FirstStop_Id = Convert.ToInt32(DGV_ToUdpate.Rows[i].Cells[j++].Value); routesToUpdate.LastStop_Id = Convert.ToInt32(DGV_ToUdpate.Rows[i].Cells[j++].Value); routesToUpdate.DepartmentTime = DGV_ToUdpate.Rows[i].Cells[j++].Value.ToString(); routesToUpdate.ArrivalTime = DGV_ToUdpate.Rows[i].Cells[j].Value.ToString(); } Database.DeleteRow("Маршруты", routesToUpdate._Id); Database.UpdateRoutes(routesToUpdate); } }