Drivers.Cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using MyLibrary;
namespace WindowsFormsApplication1
{
public partial class Drivers : Form
{
public Drivers()
{
InitializeComponent();
button1.Enabled = false;
toolStripButton3.Enabled = false;
if (adress.databasedriver != null)
{
RefreshTable(adress.databasedriver);
button1.Enabled = true;
toolStripButton3.Enabled = true;
}
}
public void RefreshTable(string path)
{
try
{
adress.drivers.Clear();
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path);//
OleDbCommand com = new OleDbCommand();
OleDbDataAdapter adap = new OleDbDataAdapter();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
com.Connection = conn;
com.CommandText = "Select * from Table1";
conn.Open();
adap.SelectCommand = com;
adap.Fill(ds);
dt = ds.Tables[0];
dataGridView1.DataSource = dt;
conn.Close();
for (int i = 0; i < dataGridView1.Columns.Count; i++)
dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
Voditel vod = new Voditel(dataGridView1[1, i].Value.ToString(), dataGridView1[2, i].Value.ToString(), dataGridView1[3, i].Value.ToString(), dataGridView1[4, i].Value.ToString(), dataGridView1[0, i].Value.ToString());
adress.drivers.Add(vod);
}
}
catch{ MessageBox.Show("Не удалось загрузить базу данных\nПроверьте наличие и корректность базы данных с именем "+ adress.databasedriver+ " в папке с приложением", "Ошибка загрузки базы водителей",MessageBoxButtons.OK,MessageBoxIcon.Error);}
}
private void button1_Click(object sender, EventArgs e)
{
long phone;
if (textBox1.Text == "")
{
MessageBox.Show("Введите ФИО водителя");
textBox1.Focus();
return;
}
if (textBox2.Text == "")
{
MessageBox.Show("Введите модель автомобиля");
textBox2.Focus();
return;
}
if (textBox3.Text == "")
{
MessageBox.Show("Введите гос. номер автомобиля");
textBox3.Focus();
return;
}
if (textBox4.Text == "")
{
MessageBox.Show("Введите телефон водителя");
textBox4.Focus();
return;
}
if (!long.TryParse(textBox4.Text, out phone) | textBox4.Text.Length != 10)
{
MessageBox.Show("Номер телефона введен некорректно");
textBox4.Focus();
return;
}
try
{
string connectionString =
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + adress.databasedriver;
OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);
OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();
myOleDbCommand.CommandText = "INSERT INTO [Table1] (ФИО,Модель_авто,Гос_номер,Телефон) values ('" + textBox1.Text.Replace('\'', '*') + "','" + textBox2.Text.Replace('\'', '*') + "','" + textBox3.Text.Replace('\'', '*') + "','" + textBox4.Text + "');";
myOleDbConnection.Open();
myOleDbCommand.ExecuteNonQuery();
myOleDbConnection.Close();
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
RefreshTable(adress.databasedriver);
}
catch { MessageBox.Show("Ошибка добавления данных", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); }
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
try
{
if (dataGridView1.CurrentRow == null)
{
MessageBox.Show("Выберите строку");
return;
}
string connectionString =
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + adress.databasedriver;
OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);
int del;
int.TryParse(dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString(), out del);
for (int i = 0; i < adress.drivers.Count; i++)
{
Voditel vod = (Voditel)adress.drivers[i];
if (vod.ID == dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString())
{
adress.drivers.RemoveAt(i);
break;
}
}
OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();
myOleDbCommand.CommandText = "Delete From [Table1] WHERE [ID]=" + del + "";
myOleDbConnection.Open();
myOleDbCommand.ExecuteNonQuery();
myOleDbConnection.Close();
RefreshTable(adress.databasedriver);
}
catch { MessageBox.Show("Ошибка удаления данных", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); }
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
try
{
string connectionString =
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + adress.databasedriver;
OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);
OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();
myOleDbCommand.CommandText = "Delete From [Table1]";
myOleDbConnection.Open();
myOleDbCommand.ExecuteNonQuery();
myOleDbConnection.Close();
RefreshTable(adress.databasedriver);
} catch {MessageBox.Show("Ошибка удаления данных", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);}
}
}
}
