Соединение с базами данных обеспечивается за счет так называемых поставщиков данных. Они представлены классами, унаследованными от DbConnection. Примеры поставщиков:
SqlConnection, OracleConnection, OdbcConnection, MySqlConnection.
Рассмотрим взаимодействие с базой данных на примере SqlConnection:
Для выполнения команды базы данных нужно:
1. Создать, настроить и открыть объект подключения.
2. Создать и настроить объект команды, указав объект подключения в аргументе конструктора или через свойство Connection.
3. Для чтения массива записей (например, результата команды SELECT) вызвать метод ExecuteReader() настроенного объекта команды и обрабатывать каждую запись с помощью метода Read() объекта чтения данных.
4. Для выполнения команды, не предусматривающей возвращение произвольного числа записей, использовать метод ExecuteNonQuery() объекта команды.
Пример:
// Создание подключения
using (SqlConnection cn = new SqlConnection())
{
// установка строки подключения
cn.ConnectionString =
@"Data Source=(local)\SQLEXPRESS;Initial Catalog=DataBase1";
// открытие подключения
cn.Open();
// создаем объект команды SQL CREATE
|
|
SqlCommand createCommand =
new SqlCommand("CREATE TABLE Table1 (Field1 INTEGER, Field2 INTEGER)");
// выполняем не-Select запрос
createCommand.ExecuteNonQuery();
// создаем объект команды SQL SELECT
SqlCommand myCommand = new SqlCommand("SELECT * FROM Table1", cn);
// получение объекта чтения данных SELECT-запроса и просмотр результатов
using (SqlDataReader myDataReader = myCommand.ExecuteReader())
{
while (myDataReader.Read())
{
Console.WriteLine("Field1: {0}, Field2: {1}",
myDataReader["Field1"].ToString(),
myDataReader["Field2"].ToString()
);
}
}
// закрытие подключения
cn.Close();
}