Строка соединения с базой данных Connection String. Пример использования в приложениях

Строка соединения с базой данных Connection String. Пример использования в приложениях


Содержание


Условие задачи

В данной теме приведен способ определения строки соединения с базой данных Connection String. С помощью этой строки приложение (программа) может иметь доступ к элементам базы данных (таблиц, просмотров, диаграмм и т.п.).

Предполагается, что локальная база данных размещается в файле «MyDataBase.mdf». База данных была создана раньше и включена к перечню баз данных Server Explorer.

Если база данных еще не создана, то загрузить архив с готовыми файлами базы данных можно здесь.

База данных состоит из двух файлов:

  • «MyDataBase.mdf»;
  • «MyDataBase.ldf».

Пример подключения базы данных к перечню баз данных Server Explorer в MS Visual Studio приведен в статье:


Выполнение

1. Определение строки Connection String

Чтобы получить строку соединения с базой данных Connection String нужно выполнить следующую последовательность шагов (рисунок 1)

  1. Перейти в утилиту Server Explorer (рис. 1-1)
  2. Выделить файл «MyDataBase.mdf» (рис. 1-2).
  3. В окне «Properties» выделить строку (свойство) «Connection Strings» (контекстное меню – команда «Выделить все» и скопировать его в буфер обмена Clipboard (контекстное меню – команда «Копировать») (рис. 1-3).
  4. Перейти в текстовую часть файла программы. Это может быть, например, файл «Form1.cs» основной формы программы, созданной по шаблону Windows Forms.
  5. Создать переменную в классе формы Form1 типа string. Пусть название переменной ConnStr. Вставить строку «Connection String» в строке инициализации значения переменной ConnStr (или выбрать другое имя) как показано ниже:
// строка соединения с базой данных
string ConnStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Programs\C_SHARP\TermPaper1\TermPaper1\MyDataBase.mdf;Integrated Security=True;User Instance=True";

В данном случае в строке соединения с базой данных указывается полный путь к файлу базы данных «MyDataBase.mdf».

Visual Studio соединение база данныеРис. 1. Копирование строки (ConnectionString) соединения с базой данных в программу

Приблизительный вид файла «Form1.cs» (язык программирования C#) может быть следующим:

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;

namespace TermPaper1
{
    public partial class Form1 : Form
    {
        // строка соединения с базой данных
        string ConnStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Programs\C_SHARP\TermPaper1\TermPaper1\MyDataBase.mdf;Integrated Security=True;User Instance=True";

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}
2. Использование Connection String в программе. Пример

Пусть задана база данных, которая размещается в файле «MyDataBase.mdf». Пусть в базе данных есть таблица с именем Source, которая содержит следующие поля:

  • ID_Source;
  • Name;
  • Address.


Пример 1. Нужно отобразить таблицу Source в элементе управления dataGridView1 типа DataGridView на основе такого SQL-запроса:

SELECT * FROM [Source]

Тогда функция, которая отображает таблицу, будет иметь приблизительно следующий вид:

private void FillSource()
{
    string SqlText = "SELECT * FROM [Source]"; // текст SQL-запроса
    SqlDataAdapter da = new SqlDataAdapter(SqlText,ConnStr);
    DataSet ds = new DataSet();
    da.Fill(ds,"[Source]");
    dataGridView1.DataSource = ds.Tables["[Source]"].DefaultView;
}

В данной функции строка Connection String представлена переменной ConnStr.

Пример 2. Добавление новой записи к таблице Source на основе следующего SQL-запроса:

INSERT INTO [Source] ([ID_Source], [Name], [Address]) VALUES (1, ‘Source-01’, ‘Address-01’)”;

Фрагмент кода, который демонстрирует добавление новой записи:

string SqlText = "INSERT INTO [Source] ([ID_Source],[Name],[Address]) VALUES (1, 'Source-01','Address-01') ";
SqlConnection cn; // экземпляр класса типа SqlConnection
SqlCommand cmd;

// выделение памяти с инициализацией строкой соединения с базой данных
cn = new SqlConnection(ConnStr);
cn.Open(); // открыть источник данных

// задать SQL-команду
cmd = cn.CreateCommand();
cmd.CommandText = SqlText; // задать командную строку
cmd.ExecuteNonQuery();
cn.Close();

В вышеприведенном примере переменная ConnStr есть строкой соединения с базой данных.


Связанные темы