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

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

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

2017-11-17 335
Информация о подключении к базе данных 0.00 из 5.00 0 оценок
Заказать работу

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

}


Поделиться с друзьями:

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.