Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 245

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 239 240 241 242 243 244 < 245 > 246 247 248 249 250 251 .. 404 >> Следующая


Все эти изменения — за исключением отдельных детален строки соединения — будут работать для любых источников данных OLE DB, Рассмотрим пример. (Этот пример хранится под названием DataReaderAcceasExampie на web-сайте издательства Wrox.)

using System; using System.Data; using System.Data.QleDb;

// Использование пространства имён ADO .NET // Использование пространства имен // для провайдера данных OLE DB .NET

class DataReaderAcceseExample (

public static void Main{) // все дейс !ия выполняются а функции Main О

( .

// Создание объекте соединения для лровайдера OLE DB Microsoft Access;

// обратите внимание на символ в, предварявший символьное значение // строки, который делает возможном использование обратных слэшей OleDbConnection thisConr.ection = new OleDbConr.ection (

в'Prоv ider“Microsoft.Jet.OLEDB.4.0;Data Sourс e=C:\tmp\nwind. mdb*>I

t / Открытие объекта соединения thisConnection.OpenO ;

ft Создали объекта SQL-коианды для данного соединения OleDbComHiand thisCommand » thisConr.ection.CreateCoromaadO ;

// Инициализация команды SQL SELECT, предназначенной // для извлечения необходимых данных thisCommand. CormandText =

'SELECT CustomeriD, CompanyName FROM Customers';

// Создание объекта DataReader на основе предварительна // определенного командного объекта . OleDbDataReader thisReader - thisCommand.ExecuteReaderО;

while (thisReader•Read()) t

Console.WriteLinfc('\t[0)\t(l)*, thisReadert'CustomeriD'J, thieReadert'CompanyName']);

)

thisReader.Close(); thisConnection.CloseO ;

Все сделанные изменения касаются только имен объектов и содержимого строки соединения.
528

Глава 19

Кроме того, директива using, определяющая провайдер данных, изменилась с

using System.Data.SqlClient;

using System.Data.OleDb;

Как это работает

Вместо объектов sqiconnection, sqiCommand и sqlDataReader мы создаем объекты OleDbCormection, OleDbCorortand И OleDbDataReader. Эти объекты работают, в основном, так же, как и их аналоги для OLE DB; если вас интересуют тонкие отличия в их работе, то вы можете обратиться к документации по Visual Sfudio.NET.

Единственное отличие касается строки соединения, которую пришлось изменить полностью. Ее первая часть, состоящая из посылки Provider, определяет провайдера, используемого для данного типа БД. Для баз данных Microsoft Access этот провайдер всегда имеет имя (“Jet” — это имя процессора базы данных, включенного в Access):

Provider=Microsoft.Jet.OLEDB.4,0;

Если потребуется воспользоваться другим провайдером OLE DB для какой-либо базы данных или другого формата данных, то имя провайдера должно задаваться именно в предложении provider.

Вторая часть строки соединения представляет собой предложение Data source, и для OLE DB/Microsoft Access оно просто определяет имя файла, в котором находится база данных Microsoft Access (файл с расширением .mdb) и который необходимо открыть:

• \

Data Source=C;\tmp\nwind.mdb

Обратите внимание на то, что знак предваряющий строку соединения в программе, определяет символьное значение строки в С#, что позволяет использовать в имени пути символ “обратный слэш"; в противном случае для задання имен файлов в C# потребовалось бы использовать escape-последовательность в виде двух обратных слэшей (\\),

Практикум: внесение изменений в данные

Теперь мы умеем считывать информацию из баз данных, но каким образом можно вносить изменения в эти данные? Приведем очень простой пример, в котором работа ведется с единственной таблицей, однако он позволит ввести несколько иооых объектов, которые мы будем использовать в этой главе позднее.

Предположим, что один из наших клиентов — Bottom-Dollar Markets — изменил свое название на Acme, Inc. Требуется изменить название компании в базе данных. В этом примере мы снова воспользуемся базой данных Northwind, представленной в версии SQL Server/MSDE.

Полный исходный код представлен ниже (этот пример можно переписать — он Хранится ПОД именем DataUpdateExample):

using System;

using System.Data; // Использование пространства ииен ADO.NET

using System. Data. Sql Cl lent; ft Использование провайдера

// данных .NET SQL Server

class DataUpdateExample t
Доступ к данным посредством ADO.NET

529

public static void Main О .

С " '

И Задание строки соединения специально для SQL Server SqlConnection thisConnection - new SqlConnection(

в’Data Sources (local) > Integrated Security=SSPi; • +

'Initial Catalog^northwind'); ¦

// Установка соединения thisConnection.OpenO j

// Создание объекта DataAdapter для внесения

// изменений и выполнения других операций . . .

SqlDataAdapter thisAdapter ж new Sqi DataAdapter {

'SELECT CustomeriD, CompanyName FROM Customers', thisConnection);

7/ Создание объекта CorwandBuilder для формирования SQL-команд SqlCommandBuilder thlsBuilder = new SqlCcinandBuildar(thisAdapter)s

t/ Создание объекта DataSet, предназначенного

II для хранения связанных таблиц, строк и столбцов '

DataSet thisDataSet ¦ new DataSet О ;
Предыдущая << 1 .. 239 240 241 242 243 244 < 245 > 246 247 248 249 250 251 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.