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

 

Реклама
bulletinsite.net -> Книги на сайте -> Вебмастеру -> Сеппа Д. -> "Microsoft ADO.NET" -> 44

Microsoft ADO.NET - Сеппа Д.

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 38 39 40 41 42 43 < 44 > 45 46 47 48 49 50 .. 260 >> Следующая

Примечание Разработчики, использовавшие объекты соединения в ADO, RDO и DAO, вероятно, ожидают, что у объекта Connection имеются методы для подтверждения и отката транзакции. В объектной модели Ai >пд} метод BegmTi-ansaction генерирует новый объект Transaction. Чтобы подтвердить или откатить транзакцию, вызовите соответственно методы Commit и Rollback этого объекта.
Поскольку создает новую транзакцию, связывает ее с создав-
шим ее соединением и инициализирует транзакцию, использование данного метода объекта Connection может значительно упростить ваш код. Следующие фрагменты кода имеют аналогичную функциональность:
Visual Basic .NET
Dim txn As OleOb.OleObTransaction = cn. BegtnTransacti.on{)
Dim txn As New OlaDb.OleDbTransactionO
txn Connection = "Ц-.
txn.8egln()
ГЛАВА 3 Подключение к базе данных
71
Visual C# .NET
OleDbTransacttoo txn
cn.BeginTransactionO;
или
txn.Begin();
Метод ChangeDaiabase
Как уже говорилось ранее, на одном сервере SQL Server может размещаться несколько БД. Чтобы при работе с SQL Server изменить текущую БД, выполните запрос, аналогичный следующему:
USE Nor thwrxi
ADO.NET также предоставляет более изящный способ смены БД. Метод Сатт-Database объекта Connection упрощает данный процесс. Следующие фрагменты кода эквивалентны:
Visual Basic .NET
Dim As New OleDuConnection(strConn) cn.Open()
en.ChangeDatabase{"Northwind")
— или -
Dim As New cn.Openf)
Dim cmd As OleDbCommand = cn.CreateCommandQ crad.CommandText = "USE Northwind" crnd. ExecuteNonQueryC)
Visual C# .NET
OlsDbConnecticn cn = new OleDbConnection(strConn); ¦cn.OpenC);
cn.ChangeDatabase("Northwind");
— или -
OleDbConnection = new OleDbConnection(strConn); cn.Open();
OleDbCommand cmd = cn.CreateCommandO; cmd.CommandText = "USE Northwind"; cmd. ExecuteNonOueryO;
72
Часть И Подключаемся: использование поставщика данных .NET
Метод Close
Для закрытия соединения вызывают метод Ши? объекта Connection. Помните: при использовании пула соединений фн:шчсское подключение к источнику данных просто помещается в пул.
При вызове метода Close объекта Connection, уже помеченного как уничтоженный, приложение не генерирует исключений.
Метод CreateCommand
Позволяет создавать новые объекты Command. Он не принимает аргументов и
возвращает новый объект Command, свойству Connection которого задан объект
Connection, создавший данный объект Command. Следующие фрагменты кода эквивалентны:
Visual Basic .NET
Dim strConn As String = "Provider'SOLOLEDB: Data Source=Uocal)\NetSDK;" &
"Initial Catalog=Northwind;Trusted_Connection=Yes; " Dim cn As New OleDbConnection(strConn) Dim cmd As OleDb.OleDbCommand = cn.CreateCommand()
¦— или -
Dim strConn As String = "Provider=SO'..Ol-EDB;Data Sourc«=<local}\KetSDK: " &
"Initial Catalog=Northwind; Trusted_Connection=Yes;" Dim As New QleDbConnsction(strConn) Dim cmd As New 01eDb.01eDbComnrnnd{) Gind. Connection = cn
Visual C# .NET
string strConn = "Provider=SQLOi.EDB; Data Source=(IoGal)\\hstSDK; " +
"Initial Catalo9=Northwind;Trusted_Conneotion=Yes;": OleDbConnection cn = new QleDbConnection(strConn); OleObCoimand cmd = cn.CreateCommandO;
— или —
string strConn = "Provid8r=SQL0LEDB;Data Source=(local)\\NetSOK;" + "Initial Catalog=Northwind;Trusted J)annection=Yes;";
OleDbConnection cn = new OleDbConnection(strConn); OleDbCorrmand cmd = new OleDbCommandO; cmd.Connect!or = от
Метод GetQieDbSchemaTable
Позволяет получить информацию схемы о БД. Чтобы указать нужный тип информации схемы (таблицы, столбцы, хранимые процедуры и т.д.), передайте методу •GetOleDbSchemaTable значение из перечисления OleDbSchemaGuid.
.Метод GetOleDbSchemaTableraKytLe принимает обязательный параметр Restrictions, выступающий в качестве фильтра для возвращаемых сведений схемы. Например, это позволит получать информацию не обо всех столбцах БД, а только о столб-
ГЛАВА 3 Подключение к базе данных 73
цах конкретной таблицы. Параметр Restrictions содержит массив значений. Каждый тип схемы допускает использование разных наборов ограничений.
Чтобы получить информацию обо всех столбцах всех таблиц вашей БД, опустите параметр Restrictions:
Visual Basic -NET
Dim strConn As String = "Provider^SQlOLEDB:Data Source=(local)\NetSOK; " &
"Initial Catalog=Northwind; Trusted Jtonnect.ion=Yes;• Dim cn As New OleDbConnection(strConn) cn.OpenO
Dim tbl As DataTable
tbl = en. Get01eDbSchemaTable(01eDbScheniaGuid. Tables. Nothing) Visual C# -NET
string strConn = "Provider=SQLOLEDB; Data Source=(local)\\NetSDK;" +
"Initial Catalog=t4ortriwind;Trusted_Connection=Yes;"; OieDbConnection cn = new 01eDbConnectiuri(st rConn); cn.OpenO; DataTable tbl;
tbl = cn.GetOleDbSchemaTableCOleDbSchemaGuid.Tables, null);
Если вы хотите получить столбцы конкретной таблицы, воспользуйтесь параметром Restrictions и укажите имя нужной таблицы. В документации MSDN, говорится, что структура массива Restrictions для элемента Table перечисления < лА7'/;.чА<' maGuidдолжна быть такой:
{"КАТАЛОГ.ТАБЛИЦЫ". "СХЕНА_ТАБЛИЦЫ", "ИМЯ_ТАБЛИЦЫ", "ИМЯ.СТОЛБЦА"}
Предыдущая << 1 .. 38 39 40 41 42 43 < 44 > 45 46 47 48 49 50 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100