Технология Microsoft ADO.NET


Объект Command. Свойства CommandType и CommandText - часть 4


Создайте новое Windows-приложение и назовите его "ProgrammCommand". Перетаскиваем на форму элемент управления DataGrid, его свойству Dock устанавливаем значение "Fill". В классе формы создаем строки connectionString и commandText:

string connectionString = "integrated security=SSPI; data source=\".\"; persist security info=False; initial catalog=BDTur_firm2"; string commandText = "SELECT * FROM Туры";

Конструктор формы будет иметь следующий вид:

public Form1() { InitializeComponent(); SqlConnection conn = new SqlConnection(connectionString); SqlCommand myCommand = new SqlCommand(); myCommand.Connection = conn; myCommand.CommandText = commandText; SqlDataAdapter dataAdapter = new SqlDataAdapter(); dataAdapter.SelectCommand = myCommand; DataSet ds = new DataSet(); conn.Open(); dataAdapter.Fill(ds, "Туры"); conn.Close(); dataGrid1.DataSource = ds; }

Запускаем приложение. На форму выводится содержимое таблицы "Туры" (см. рис. 6.7). Здесь мы используем всего один объект DataAdapter, который сам открывает и закрывает соединение для получения данных. Поэтому можно не вызывать методы Open и Close объекта conn. Конструктор объекта SqlCommand может принимать значения, указанные в таблице 6.1.

Таблица 6.1. Конструктор объекта SqlCommand1)

№Вид№Вид№Вид№Вид
1


Пример 2)Описание

public Form1() { InitializeComponent(); SqlConnection conn = new SqlConnection(connectionString); SqlTransaction trans = conn.BeginTransaction(); SqlCommand myCommand = new SqlCommand(commandText, conn, trans); //SqlCommand myCommand = // new SqlCommand("SELECT * FROM Туры", conn, trans); SqlDataAdapter dataAdapter = new SqlDataAdapter(); dataAdapter.SelectCommand = myCommand; DataSet ds = new DataSet(); dataAdapter.Fill(ds, "Туры"); dataGrid1.DataSource = ds; }

Первый параметр - строка commandText, причем можно сразу задавать SQL-конструкцию без создания строки в классе. Затем экземпляры объектов SqlConnection и SqlTransaction. Подробно о транзакциях см. далее

2


Пример Описание
public Form1() { InitializeComponent(); SqlConnection conn = new SqlConnection(connectionString); SqlCommand myCommand = new SqlCommand(commandText, conn); //SqlCommand myCommand = // new SqlCommand("SELECT * FROM Туры", conn); SqlDataAdapter dataAdapter = new SqlDataAdapter(); dataAdapter.SelectCommand = myCommand; DataSet ds = new DataSet(); dataAdapter.Fill(ds, "Туры"); dataGrid1.DataSource = ds; }

Вариант без экземпляра объекта SqlTransaction

3


Пример Описание
public Form1() { SqlConnection conn = new SqlConnection(connectionString); SqlCommand myCommand = new SqlCommand(commandText); //SqlCommand myCommand = // new SqlCommand("SELECT * FROM Туры"); myCommand.Connection = conn; SqlDataAdapter dataAdapter = new SqlDataAdapter(); dataAdapter.SelectCommand = myCommand; DataSet ds = new DataSet(); dataAdapter.Fill(ds, "Туры"); dataGrid1.DataSource = ds; }

Конструктор принимает в качестве параметра только строку commandText. Для указания соединений используем свойство Connection созданного экзмепляра myCommand

4


увеличить изображение

Пример Описание
public Form1() { SqlConnection conn = new SqlConnection(connectionString); SqlCommand myCommand = new SqlCommand(); myCommand.Connection = conn; myCommand.CommandText = commandText; //Command.CommandText = "SELECT * FROM Туры"; SqlDataAdapter dataAdapter = new SqlDataAdapter(); dataAdapter.SelectCommand = myCommand; DataSet ds = new DataSet(); dataAdapter.Fill(ds, "Туры"); dataGrid1.DataSource = ds; }

Конструктор не принимает параметров. Для указания соединения и строки commandText вызываем соответствующие свойства созданного экземпляра myCommand. Строке commandText можно передать SQL-конструкцию непосредственно - в этом случае создавать переменную в классе не нужно

<


Начало  Назад  Вперед



Книжный магазин