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

 

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

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

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

Событие InfoMessage объекта Connection позволяет перехватывать информационные сообщения, как показано ниже.
Visual Basic .NET
Dim strConn As String = "Provider=SCl.0LE[)a; Data Source=(local)\MetSDK; " &
"Initial CataIog=Northwind;Trusted_Connection=Yes; " Dim cn As New OleDbConnection(strConn) AddHandler cn.InfoMessage, AddressOf cn_InfoMessage cn.0pen()
With cn.CreateCcmmandO
.CommandText = "PRINT 'Hello ADO. NETI " .ExecuteNonOueryf)
End With
Public Sub cn_InfoMessage(ByVal sender As Object,
ByVal e As System. Data.OleDb.OleDblnfoMessageEventArgs) Console,WriteLine("InfoMessage event occurred") Console. WriteLineCvbTab & "Message received: " & e. Message)
End Sub
Visual C# .NET
string strConn = "Provider=SOLOLCDB; Data Souree=( local )\\'\!etS0K; " +
"Initial Catalog=Northwind;Trusted_Connection=Yes; "; OleObConnection cn = new 01»UbConnection(strConn); cn. InfoMessage += new 01eDbInfoMessageEventHandler(cn_InfoHessage):
cn.OpenO;
OlePbCcwaed см = cn. Cr»steConir.;?7(S( )¦ cmd. CommandText = "PRINT 'Hello ADO. NET' "; cmd.ExecuteNonQueryO;
static void cr_lr,foMRSsage(objsct sender, OleDblnfoKesaageEventArgs e) <
Console.WriteLine("InfoMessage event occurred"); Console.WriteLine("\tMessage received: " + e.Message);
;
Примечание SQL Server также способен генерировать информационные сообщения с помощью команды RAistKRCЖ Информационными считаются сообщения, степень значимости которых меньше 10. Подробнее — в справочной системе SQL Server Books Online.
ГЛАВА 3 Подключение к базе данных 7/
Фрагменты на Visual Basic NET. использующие события
В Visual Basic .NET предусмотрено два способа добавления кода для обработки событий, предоставляемых каким-либо объектом. Первый, который я и применяю в книге, — посредством оператора Addfkmdler. Кроме того, можно добавить код для обработки событий, требующий ввода меньшего объема текста.
На рис. 3-13 показан редактор кода Visual Basic. Имеется переменная сп, область действия которой - уровень модуля. Оператор Dim содержитклю-чевое слот WiihEi-'efts Объявив переменную с помощью этого слова, вы без труда, средствами Visual Basic .NET, создадите процедуры для мораооткп
событий объекта.
^VlMlulUoilr NfU»i*,rtL MiltouHl l/iillet H.irtt .HFT | dttfeilj Mn<lilb>1 .vb
?r ?dt yfct> ^r'.wt
i
Inserts Syacwr.uaca.Oietfc 1 |-, HodulE Houylel
DJJn w^hlver.-.e en As 01titc«CJie«imi
sub .»1.5
:ш etrCouu ; ?t).l&4 " "Ftijvld*i*3iLJLEI-E: Date Soui-jr-| iccal i; Inlc la.1 -r&L&iofl" en - Ne* OlalifcCCKpectiQinettCoEaii cn,Open/j cn.Cioail! if.J Sub
PiLhUe 9uL LiTi_S*oreChonae(bvV*l senrlrr Ctorcr. EyVO.1 с Aa syace*. nn'a.ScatcGhe&c
r. .,, ': i- l.M . ' f l . 11 " ? с . Ос igltiaj 31 «CB . TGz^O r.fff
Ccnaele.VriLeLineivtTar ? "fo " K e.cursentBtBae.TOBCElbtTl
trtd Sub
Рис. 3-13. Добавление- кода для обработки событий в Visual Basic .MAT
Над кодом располагаются два раскрывающихся списка. В левом списке перечислены модуль кода и все объектные переменные из области действия модуля, которые предоставляют события. Как видно, в данном списке выбран объект OleDbConnection. Если выбрать в левом списке перемен-уа-,!>. предоставляющую событид в правом списке появится перечень этих
событий.
Когда вы выберете событие, Visual Basic .NET создаст процедуру с соответствующей подписью, предназначенную для обработки этого события,
Данная возможность очень удобна для разработчиков, однако создает " проблемы авторам. Область действия объектных переменных, объявленных с словом быть на уровне модуля, т. е. я каж-
дый раз должен указывать это при объявлении переменных в коде. Нужные фрагменты кода выглядят так:
см. след. стр.
78 Часть II Подключаемся: использование поставщика данных .net
'Hi уровне модуля
Dim WithEvents сп As OleDbConnection
Dire strConn As String * "Provider=SQLOLEDD; Data Source={local5\MetSDK; " &
"Initial Catalog=Northwind;Trusted^Conneotion=Yes;" en = New OleDbGonnectiorKstrConn) AddHandler en.StateChange, AddressOf cn_StateChange cn.'OpenC J cn.CloseO
Public Sub cn_StateChange(ByVal sender AS Object,
ByVal e As System. Data. StateChange Event A rgs) Console.Writ«ilne("StateChange event occurred") Console.Writeline<vbTab & "Frau " & e.OriginalState.ToStrlng) Console.WriteUneCvbTab & "To " & e. CurrentState.ToString)
End Sub
Событие StateChange
Наступает, если изменяется значение свойства State объекта Connection. Это событие окажется вам полезно, если вы отображаете текущее состояние соединения, скажем, в информационной панели приложения.
Visual Basic NET
Dim strConn As String = "Provider-5Qi.OiF.DB; Data Source=(locai;\«etSDK; " &
"Initial Catalog=Northwind;Trusted_Connection=Yes; " Dim on As New OleDbConnection(strConn) AddHandler cn.StateChange, AddressOf cn_StateCnange cn.0pen() cn.Close()
Public Sub cn_StateChanQe(ByVal sender As Object,
ByVal e As System. Data. StateChangeEventArgs) Console. WriteLineC "StateChange event occurred") Console. WriteLine(vbTab & "From " & e.OriginalState.ToString) Console. WriteLine(vbTab & "To " & e.CurrentState.ToString)
Предыдущая << 1 .. 40 41 42 43 44 45 < 46 > 47 48 49 50 51 52 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100