Информация о подключении к базе данных

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);

}

Наши рекомендации