11Imports System.Data.Common
22Imports System.Data.SqlClient
3+ Imports System.Reflection
34
45Public Class Connection
5- Inherits Databasic.Connection
6+ Inherits Databasic.Connection
67
7- Public Overrides ReadOnly Property Provider As DbConnection
8- Get
9- Return Me ._provider
10- End Get
11- End Property
12- Private _provider As SqlConnection
8+ Public Overrides ReadOnly Property Provider As DbConnection
9+ Get
10+ Return Me ._provider
11+ End Get
12+ End Property
13+ Private _provider As SqlConnection
1314
14- Public Overrides ReadOnly Property ProviderResource As System.Type = GetType (ProviderResource)
15+ Public Overrides ReadOnly Property ProviderResource As System.Type = GetType (ProviderResource)
1516
16- Public Overrides ReadOnly Property ClientName As String = "System.Data.SqlClient"
17+ Public Overrides ReadOnly Property ClientName As String = "System.Data.SqlClient"
1718
18- Public Overrides ReadOnly Property Statement As System.Type = GetType (Statement)
19+ Public Overrides ReadOnly Property Statement As System.Type = GetType (Statement)
1920
20- Public Overrides Sub Open(dsn As String )
21- Me ._provider = New SqlConnection(dsn)
22- Me ._provider.Open()
23- AddHandler Me ._provider.InfoMessage, AddressOf Connection.errorHandler
24- End Sub
21+ Public Overrides Sub Open(dsn As String )
22+ Me ._provider = New SqlConnection(dsn)
23+ Me ._provider.Open()
24+ AddHandler Me ._provider.InfoMessage, AddressOf Connection.errorHandler
25+ End Sub
2526
26- Public Overrides Function CreateAndBeginTransaction( Optional transactionName As String = "" , Optional isolationLevel As IsolationLevel = IsolationLevel.Unspecified) As Databasic.Transaction
27- Return New Transaction() With {
27+ Protected Shared Sub errorHandler(sender As Object , args As SqlInfoMessageEventArgs)
28+ Dim sqlErrors As Databasic.SqlErrorsCollection = New SqlErrorsCollection()
29+ For index = 0 To args.Errors.Count - 1
30+ sqlErrors.Add( New Databasic.MsSql.SqlError(args.Errors(index)))
31+ Next
32+ Databasic.Events.RaiseError(sqlErrors)
33+ End Sub
34+
35+ Protected Overrides Function createAndBeginTransaction( Optional transactionName As String = "" , Optional isolationLevel As IsolationLevel = IsolationLevel.Unspecified) As Databasic.Transaction
36+ Me .OpenedTransaction = New Transaction() With {
2837 .ConnectionWrapper = Me ,
29- .Instance = Me ._provider.BeginTransaction(isolationLevel, transactionName.Substring( 0 , Math.Min(transactionName.Length - 1 , 32 )))
38+ .Instance = Me ._provider.BeginTransaction(
39+ isolationLevel, transactionName.Substring( 0 , Math.Min(transactionName.Length - 1 , 32 ))
40+ )
3041 }
42+ Return Me .OpenedTransaction
3143 End Function
3244
3345End Class
0 commit comments