1
1
Imports System.Data.Common
2
2
Imports System.Data.SqlClient
3
+ Imports System.Reflection
3
4
4
5
Public Class Connection
5
- Inherits Databasic.Connection
6
+ Inherits Databasic.Connection
6
7
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
13
14
14
- Public Overrides ReadOnly Property ProviderResource As System.Type = GetType (ProviderResource)
15
+ Public Overrides ReadOnly Property ProviderResource As System.Type = GetType (ProviderResource)
15
16
16
- Public Overrides ReadOnly Property ClientName As String = "System.Data.SqlClient"
17
+ Public Overrides ReadOnly Property ClientName As String = "System.Data.SqlClient"
17
18
18
- Public Overrides ReadOnly Property Statement As System.Type = GetType (Statement)
19
+ Public Overrides ReadOnly Property Statement As System.Type = GetType (Statement)
19
20
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
25
26
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 {
28
37
.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
+ )
30
41
}
42
+ Return Me .OpenedTransaction
31
43
End Function
32
44
33
45
End Class
0 commit comments