Информация о подключении к базе данных
public static string connStr = @"Data Source=(local)\SQLEXPRESS;
Initial Catalog=DS_BD;
Integrated Security=True";
Инициализацияприложения:
publicOsnova()
{
InitializeComponent();
//Создает первое подключение к базе данных
SqlConnection conn = new SqlConnection(Data.connStr);
try
{
conn.Open();
Data.Message = "Соединение с базой успешно установлено";
//Создаемсписоктаблиц
setTable();
}
catch (SqlException se)
{
//Если соединение отсутвует - блокирует кнопки работы с базой
Data.Message = "Ошибка подключения к базе: "+ se.Message;
btnAdd.Enabled = false;
btnChange.Enabled = false;
btnDel.Enabled = false;
Vremya();
return;
}
//Создает массив, содержащий имена всех столбцов, кроме первого
string query = "Select * From " + cmBoxTable.Text;
SqlCommandcmd = new SqlCommand(query, conn);
using (SqlDataReaderdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
Data.inf = new string[dr.FieldCount - 1];
for (int i = 1; i <dr.FieldCount; i++)
Data.inf[i - 1] = dr.GetName(i).ToString().Trim();
}
Vremya();
//Обновляеминформациюв dataGridView1
SqlDataAdapter DA = new SqlDataAdapter(cmd);
DataSetqw = new DataSet();
DA.Fill(qw);
dataGridView1.DataSource = qw.Tables[0];
conn.Close();
conn.Dispose();
//Скрываем первый столбец, содержащий ID
dataGridView1.Columns[0].Visible = false;
}
Метод создания мастера добавления записи
private void btnTest2_Click(object sender, EventArgs e)
{
Data.Message = ""; //отчищаем переменную с сообщением
Data.Wquery = false; //Устанавливаем значение, определяющее тип запроса
Data.query = newstring[Data.inf.Length]; //Создаем массив, содержащий все значения будущего запроса
AddTaskfrm = newAddTask();
frm.lblName.Text = "Мастер добавления новой записи"; //Корекктируемлэйблы
frm.lblInf.Text = "Введите " + Data.inf[0];
Data.Table = cmBoxTable.Text;
frm.ShowDialog();
frm.Dispose();
Vremya(); //Вставляем в лог запись об успешном добавлении\содержащую код ошибки
Reset(); //Обновляем значения полей
}
Методудалениязаписи
private void btnDel_Click(object sender, EventArgs e)
{
//Открываемподключение
SqlConnection conn = new SqlConnection(Data.connStr);
try
{
conn.Open();
}
catch (SqlException se)
{
Data.Message = "Ошибкаподключениякбазе: " + se.Message;
MessageBox.Show("Ошибка подключения к базе");
Vremya();
return;
}
//Формируем запрос на удаление строки, условие удаление ID строки в базе
stringqw = "Delete From "+cmBoxTable.Text+" Where ID = " + dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString();
DialogResultresult = MessageBox.Show("Запись и все свяанные с ней документы будет удалены без возможности восстановления!Вы уверены, что хотите ее удалить?", "Внимание!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
if (result == DialogResult.Yes) //Вставляем результат диалога. В случае положительного ответа, удаляем запись
{
SqlCommandcmd = newSqlCommand(qw, conn);
try
{
cmd.ExecuteNonQuery();
Data.Message = "Запись успешно удалена";
}
catch (SqlExceptionse)
{
Data.Message = "Ошибка удаления записи: " + se.Message;
MessageBox.Show("Ошибка удаления записи!");
return;
}
stringDataDirectory = dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString().Trim();
DataDirectory = "\\\\Astral\\тест\\" + cmBoxTable.Text+"\\" +DataDirectory;
DirectoryInfodd = new DirectoryInfo(DataDirectory); //теперьмывпапке \Astral\тест\база
if (dd.Exists == true)
dd.Delete(); //Удаляемдирректориюсфайлами
}
else
return;
conn.Close();
conn.Dispose();
Vremya(); //Вставляем запись из лога
Reset();
}
Методоткрытияиндивидуальнойпапки
private void btnOpen_Click(object sender, EventArgs e)
{
//Открывает директорию, заведеную по ID в базе.
stringDataDirectory = dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString().Trim();
DataDirectory = "\\\\Astral\\тест\\"+cmBoxTable.Text+"\\" + DataDirectory;
DirectoryInfodd = new DirectoryInfo(DataDirectory); //теперьмывпапке \Astral\тест\база
if (dd.Exists == false)
dd.Create(); //если папки нет то создадим
Process.Start(DataDirectory);
}