Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 275

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 269 270 271 272 273 274 < 275 > 276 277 278 279 280 281 .. 320 >> Следующая

// Команда SELECT была определена просто как переменная типа string string sqlSELECT - "SELECT * FROM Inventory": OleDbDataAdapter dAdapt = new OleDbDataAdapterfsqlSELECT. en);
С точки зрения объектно-ориентированного программирования, конечно, привычнее было бы создать для команды SELECT отдельный объект (вместо переменной string) и использовать именно его. Можно сделать и так. Понятно, что команду SELECT в этом случае будет представлять объект 01 subcommand. Чтобы связать этот объект с объектом OleDbDataAdapter, используется свойство SelectCom-mand:
// Создаем объект OleDbCommand, представляющий команду SELECT OleDbCommand seiectCmd = new DleDbCommandf"SELECT * FROM Inventory", cn):
II Создаем объект OleDbDataAdapter и привязываем к нему объект OleDbComnand OleDbDataAdapter dAdapt = new 0IeDbQataAdapter(); dAdapt.SeiectCommand = selectCmd;
В любом случае результат будет одним и тем же (рис. 13.27).
Работа с управляемым провайдером SQL 679
рч D:\LSharpBook\Labs !Chapter ПМїНБСп^^Ц
Here :: vJb.i!: we ламе right iHMf: З
CarID Make Colur FetNdne
в ШІ Red Clin ..!¦:;/
1 em Green Snake
2 U iper Red Zippy
І BHU Pin Ii Buddha
4 Colt :'м .1 Rusty
Press any key to continue

± „
Рис. 13.27. Объект OleDbOatsAdapter в действии
Однако, чтобы программа действительно заработала, нам осталось создать ее последнюю часть — метод Print Table (). Он не слишком сложен:
public static void PrintTable(DataSet
Il Получаек таблицу Inventory из объекта DataSet ConsoleWrlteLineC'Here is what we have right now: \n"): DataTable invTable = ds.Tables["Inventory"]:
Il Выводим имена столбцов
forCint curCol = 0: curCol < Invtable.Columns.Count: curCol++) Console.VJrlte'.liot nr.vTaDle.ColumrisLcLirCol j .Соїигпмічагпе.іпґіі) +
Console. WritetineO:
II Выводим значения из каждого поля таблицы
for(int curRow - 0; curRow < invTable.Rows.Count; curRow++)
forCint curCol = 0: curCol < Instable.Columns.Count; curCol++) (
Console.h'ritst іпуїзЬ'й. RcwsfcurRow] ГсагСо! j .ToStrlncO .v-jj-; ) +
"\t")
)
Console. WriteLineO
)
} I
Код приложения FilLSingleDSWithAdapterможно найти в подкаталоге Chapter
Работа с управляемым провайдером SQL
Перед тем как мы приступим к вставке, изменению и удалению записей в источнике данных при помощи объектов :;'¦.'¦..;....¦:. мы рассмотрим еще одну тему — особенности работы с управляемым провайдером SQL. Как уже говорилось, по своим функциональным возможностям этот провайдер схож с управляемым провайдером OLE но он предназначен только для работы с базами данных на сервере
MS SQL Server и хорошо оптимизирован именно для такой работы.
Типы, которые составляют управляемый провайдер SQL, определены в пространстве имен System. Data. SqI Client. Список основных типов приведен в табл. 13.19. В нем мы найдем много общего с уже знакомыми нам типами из пространстваиме) і
System.Data.OleOb.
680 Глава 13 • Доступ к данным при помощи ADO.NET
Таблица 13.19. Наиболее важные типы пространства имен System.Data.SqICtent
Тип
SqlCommand
Описание.
Представляет запрос производимый к источнику данных — SQL Server
SqICormection Представляет открытое соединение с источником данных
SqIDataAdapter Представляет соединение с базой данных и набор команд, используемых
для заполнения объекта DataSet, а также обновления исходной базы данных после внесения изменений в DataSet
SqIDataReader Обеспечивает метод считывания потока данных из источника в одном
направлении (вперед)
SqlErrors SqlErrors представляет набор ошибок и предупреждений, возвращаемых
источником данных. Сами эти ошибки и предупреждения представлены SqlException объектами SqlError. При возникновении ошибки может быть
сгенерировано исключение, представленное объектом SqlException
SqI ParameterCollecoon Используются для передачи параметров хранимой процедуре SqlParameter на источнике данных. Параметры представлены объектами SclParameter
Работа с этими типами данных практически идентична работе с аналогичными типами данных из пространства имен System. Data. Ol eDb. Однако, чтобы сделать работу с типами данных управляемого провайдера SQL более привычной, в оставшейся части этой главы мы будем иметь дело именно с ними.
Пространство имен System.Data,SqITypes
Этот раздел также можно рассматривать как «заметки на полях». При использовании управляемого провайдер; SQL очень удобно использовать классы, которые предназначены для представления «родных» типов данных SQL Server 7.0 и SQL Server 2000. Эти классы определены в пространстве имен System. Data. Sql Types. Их перечень приведен в табл. 13.20.
Таблица 13.20. Типы пространства имен System.Data.SqlTypes
Тип Типы данных — аналогов на SQL Server
SqlBinary binary, varb;nary, timeslamp, image
Sqllnt64 bigint
SqiBit bit
SqlDateTime datetime, smalldatetlme
SqINumeric decimal
SqIDouble float
Sqllnt32 int
SqIMoney money, smallmoney
SqIString nchar, ntext, nvarchar, sysname, text, varthar, char
SqINumeric numeric
Предыдущая << 1 .. 269 270 271 272 273 274 < 275 > 276 277 278 279 280 281 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100