Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прога - ответы2.docx
Скачиваний:
19
Добавлен:
23.04.2019
Размер:
206.38 Кб
Скачать

Основные члены типа DataRow:

HasErrors

Есть ли ошибки в строке

GetColumnsInError()

Ошибочные столбцы

GetColumnError()

Описание ошибки для столбца

ClearErrors()

Удалить информацию об ошибках

RowError

Текстовое описание ошибки для строки

ItemArray

Все значения столбцов строки в виде массива объектов

RowState

Текущее состояние DataRow в содержащем его DataTable (новый, измененный, не измененный или удаленный)

Table

Ссылка на объект DataTable, содержащий данный объект DataRow

AcceptChanges()

Фиксация всех изменений в данной строке

RejectChanges()

Отмена всех изменений в данной строке

BeginEdit()

Начинает операцию редактирования

EndEdit()

Заканчивает операцию редактирования

CancelEdit()

Отменяет операцию редактирования

Delete()

Помечает строку для удаления при вызове AcceptChanges()

IsNull()

Проверяет, содержит ли указанный столбец пустое значение

Пример создания таблицы:

// создание столбцов:

DataColumn col1 = new DataColumn("IntField", typeof(int));

DataColumn col2 = new DataColumn("StrField", typeof(string));

// создание таблицы и добавление в нее столбцов:

DataTable table = new DataTable("TestTable");

table.Columns.Add(col1);

table.Columns.Add(col2);

// добавление строк в таблицу

DataRow row = table.NewRow();

row["IntField"] = 10;

row["StrField"] = "Hello!";

table.Rows.Add(row);

row = table.NewRow();

row["IntField"] = 20;

row["StrField"] = "Hello again!";

table.Rows.Add(row);

// создание DataSet и добавление в него таблицы

DataSet ds = new DataSet("TestDataBase");

ds.Tables.Add(table);

Работа с адаптерами данных:

Класс адаптеров данных применяется для заполнения наборов данных DataSet с помощью объектов DataTable; кроме того, они могут отправлять измененные DataTable назад в базу данных для обработки. В таблице перечислены основные члены базового класса DbDataAdapter, от которого порождаются все объекты адаптеров данных (например, SqlDataAdapter и OdbcDataAdapter).

Основные члены класса DbDataAdapter:

Fill()

Выполняет команду SQL SELECT (указанную в свойстве SelectCommand) для запроса к базе данных и загрузки этих данных в объект DataTable

SelectCommand

InsertCommand

UpdateCommand

DeleteCommand

Содержат SQL-команды, отправляемые в хранилище данных при вызовах методов Fill() и Update()

Update()

Выполняет команды SQL INSERT, UPDATE и DELETE (указанных свойствами InsertCommand, UpdateCommand и DeleteCommand) для сохранения в базе данных изменений, выполненных в DataTable

Пример:

string connectionString =

@"Data Source=(local)\SQLEXPRESS;Initial Catalog=DataBase1";

// Создание адаптера данных и установка команды для Fill()

SqlDataAdapter adapter =

new SqlDataAdapter("SELECT * FROM Table1", connectionString);

// Создание объекта DataSet

DataSet ds = new DataSet("DataBase1");

// Чтение из базы данных таблицы Table1 в объект DataSet

adapter.Fill(ds, "Table1");

// вывод всех столбцов таблицы Table1

DataTable dt = ds.Tables["Table1"];

for ( int c = 0; c < dt.Columns.Count; c++ )

Console.Write(dt.Columns[c].ColumnName + "\t");

Console.WriteLine();

// Вывод содержимого таблицы Table1.

for ( int r = 0; r < dt.Rows.Count; r++ )

{

for ( int c = 0; c < dt.Columns.Count; c++ )

Console.Write(dt.Rows[r][c].ToString() + "\t");

Console.WriteLine();

}