| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405 |
- using Npgsql;
- using System;
- using System.Data;
- using System.IO;
- using System.Windows.Forms;
- namespace WindowsFormsApp1
- {
- public partial class Form1 : Form
- {
- private string connStr;
- private string currentUser;
- public Form1(string login, string password)
- {
- InitializeComponent();
- currentUser = login;
- connStr =
- $"Host=80.250.189.52;" +
- $"Port=5432;" +
- $"Database=dbwork;" +
- $"Username={login};" +
- $"Password={password}";
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- cmbTables.Items.Clear();
- cmbTables.Items.Add("position_ref");
- cmbTables.Items.Add("employee");
- cmbTables.Items.Add("passenger");
- cmbTables.Items.Add("airline");
- cmbTables.Items.Add("airplane");
- cmbTables.Items.Add("flight");
- cmbTables.Items.Add("ticket");
- cmbTables.Items.Add("baggage");
- cmbTables.Items.Add("passenger_baggage");
- cmbTables.SelectedIndex = 0;
- // просмотрщик может только смотреть
- if (currentUser == "viewer_user")
- {
- btnAdd.Enabled = false;
- btnEdit.Enabled = false;
- btnDelete.Enabled = false;
- }
- }
- private void LoadData()
- {
- try
- {
- using (NpgsqlConnection conn =
- new NpgsqlConnection(connStr))
- {
- conn.Open();
- string tableName = cmbTables.Text;
- string sql;
- if (tableName == "employee")
- {
- sql = "select * from simonova_da.employee_info";
- }
- else if (tableName == "ticket")
- {
- sql = "select * from simonova_da.ticket_info";
- }
- else
- {
- sql = $"select * from simonova_da.{tableName}";
- }
- NpgsqlDataAdapter da =
- new NpgsqlDataAdapter(sql, conn);
- DataTable dt =
- new DataTable();
- da.Fill(dt);
- dataGridView1.DataSource = dt;
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- private void btnLoad_Click(object sender, EventArgs e)
- {
- LoadData();
- }
- private void cmbTables_SelectedIndexChanged(
- object sender,
- EventArgs e)
- {
- LoadData();
- }
- private void btnSearch_Click(
- object sender,
- EventArgs e)
- {
- try
- {
- using (NpgsqlConnection conn =
- new NpgsqlConnection(connStr))
- {
- conn.Open();
- string sql =
- @"select *
- from simonova_da.passenger
- where lower(last_name)
- like lower(@search)";
- NpgsqlDataAdapter da =
- new NpgsqlDataAdapter(sql, conn);
- da.SelectCommand.Parameters.AddWithValue(
- "search",
- "%" + txtSearch.Text + "%");
- DataTable dt =
- new DataTable();
- da.Fill(dt);
- dataGridView1.DataSource = dt;
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- private void btnAdd_Click(
- object sender,
- EventArgs e)
- {
- try
- {
- using (NpgsqlConnection conn =
- new NpgsqlConnection(connStr))
- {
- conn.Open();
- string sql =
- @"insert into simonova_da.passenger
- (
- passenger_code,
- last_name,
- first_name,
- phone_number
- )
- values
- (
- @code,
- @last,
- @first,
- @phone
- )";
- NpgsqlCommand cmd =
- new NpgsqlCommand(sql, conn);
- cmd.Parameters.AddWithValue(
- "code",
- txtCode.Text);
- cmd.Parameters.AddWithValue(
- "last",
- txtLastName.Text);
- cmd.Parameters.AddWithValue(
- "first",
- txtFirstName.Text);
- cmd.Parameters.AddWithValue(
- "phone",
- txtPhone.Text);
- cmd.ExecuteNonQuery();
- MessageBox.Show(
- "Пассажир добавлен");
- }
- LoadData();
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- private void btnEdit_Click(
- object sender,
- EventArgs e)
- {
- try
- {
- using (NpgsqlConnection conn =
- new NpgsqlConnection(connStr))
- {
- conn.Open();
- string sql =
- @"update simonova_da.passenger
- set last_name=@last,
- first_name=@first,
- phone_number=@phone
- where passenger_code=@code";
- NpgsqlCommand cmd =
- new NpgsqlCommand(sql, conn);
- cmd.Parameters.AddWithValue(
- "code",
- txtCode.Text);
- cmd.Parameters.AddWithValue(
- "last",
- txtLastName.Text);
- cmd.Parameters.AddWithValue(
- "first",
- txtFirstName.Text);
- cmd.Parameters.AddWithValue(
- "phone",
- txtPhone.Text);
- cmd.ExecuteNonQuery();
- MessageBox.Show(
- "Запись изменена");
- }
- LoadData();
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- private void btnDelete_Click(
- object sender,
- EventArgs e)
- {
- try
- {
- using (NpgsqlConnection conn =
- new NpgsqlConnection(connStr))
- {
- conn.Open();
- string sql =
- @"delete from simonova_da.passenger
- where passenger_code=@code";
- NpgsqlCommand cmd =
- new NpgsqlCommand(sql, conn);
- cmd.Parameters.AddWithValue(
- "code",
- txtCode.Text);
- cmd.ExecuteNonQuery();
- MessageBox.Show(
- "Запись удалена");
- }
- LoadData();
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- private void btnExport_Click(
- object sender,
- EventArgs e)
- {
- try
- {
- SaveFileDialog save =
- new SaveFileDialog();
- save.Filter =
- "CSV files (*.csv)|*.csv";
- if (save.ShowDialog() ==
- DialogResult.OK)
- {
- using (StreamWriter sw =
- new StreamWriter(
- save.FileName))
- {
- for (int i = 0;
- i < dataGridView1.Columns.Count;
- i++)
- {
- sw.Write(
- dataGridView1.Columns[i]
- .HeaderText);
- if (i <
- dataGridView1.Columns.Count - 1)
- sw.Write(";");
- }
- sw.WriteLine();
- foreach (DataGridViewRow row
- in dataGridView1.Rows)
- {
- if (!row.IsNewRow)
- {
- for (int i = 0;
- i < dataGridView1.Columns.Count;
- i++)
- {
- sw.Write(
- row.Cells[i].Value);
- if (i <
- dataGridView1.Columns.Count - 1)
- sw.Write(";");
- }
- sw.WriteLine();
- }
- }
- }
- MessageBox.Show(
- "Экспорт выполнен");
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- private void dataGridView1_CellClick(
- object sender,
- DataGridViewCellEventArgs e)
- {
- if (cmbTables.Text != "passenger")
- return;
- if (e.RowIndex >= 0)
- {
- DataGridViewRow row =
- dataGridView1.Rows[e.RowIndex];
- txtCode.Text =
- row.Cells["passenger_code"]
- .Value.ToString();
- txtLastName.Text =
- row.Cells["last_name"]
- .Value.ToString();
- txtFirstName.Text =
- row.Cells["first_name"]
- .Value.ToString();
- txtPhone.Text =
- row.Cells["phone_number"]
- .Value.ToString();
- }
- }
- private void txtFirstName_TextChanged(object sender, EventArgs e)
- {
- }
- private void txtSearch_TextChanged(object sender, EventArgs e)
- {
- }
- private void btnExport_Click_1(object sender, EventArgs e)
- {
- btnExport_Click(sender, e);
- }
- }
- }
|