static public int Query(string query /* Строка запроса*/, DataGrid dataGrid = null /* Вывод данных в DataGrid */, bool necessaryDecrypt = false /* Необходима ли дешифровка */) { dataTable = new DataTable(); try { command = new SqlCommand("USE [Airport] " + query, connection); adapter = new SqlDataAdapter(command); connection.Open(); adapter.Fill(dataTable); if (necessaryDecrypt) { for (int i = 0; i < dataTable.Rows.Count; i++) { for (int j = 0; j < dataTable.Columns.Count; j++) { dataTable.Rows[i][j] = Cryptographer.Decryption(dataTable.Rows[i][j].ToString()); } } } if (dataGrid != null) { dataGrid.ItemsSource = dataTable.DefaultView; } } catch (SqlException ex) { if (ex.Number == 547) /* Ошибка внешнего ключа */ { MessageBox.Show("Невозможно выполнить дествие, так как текущий объект имеет связь с данными из другой таблицы", "Исключение (SqlException)", MessageBoxButton.OK, MessageBoxImage.Warning); } if (ex.Number == 911) /* Ошибка базы данных (не существует) */ { return(911); } return(0); } catch (Exception ex) { MessageBox.Show(ex.Message, "Исключение (Exception)", MessageBoxButton.OK, MessageBoxImage.Warning); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } } return(dataTable.Rows.Count); }
static public List <string> GetListOfRowsToColumn(string query /* Строка запроса*/, string column /* Название столбца */, bool necessaryDecrypt = false /* Необходима ли дешифровка */) { dataTable = new DataTable(); List <string> listOfRows = new List <string>(); try { command = new SqlCommand("USE [Airport] " + query, connection); adapter = new SqlDataAdapter(command); connection.Open(); adapter.Fill(dataTable); int i = 0; foreach (DataRow row in dataTable.Rows) { if (necessaryDecrypt) { if (dataTable.Rows.ToString() == Cryptographer.Encryption(column)) { i++; } listOfRows.Add(Cryptographer.Decryption(row[i].ToString())); } else { if (dataTable.Columns.ToString() == column) { i++; } listOfRows.Add(row[i].ToString()); } } } catch (SqlException ex) { MessageBox.Show(ex.Message, "Исключение (SqlException)", MessageBoxButton.OK, MessageBoxImage.Warning); } catch (Exception ex) { MessageBox.Show(ex.Message, "Исключение (Exception)", MessageBoxButton.OK, MessageBoxImage.Warning); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } } return(listOfRows); }