diff --git a/Database/Adapters/MSSQLServer.vb b/Database/Adapters/MSSQLServer.vb index ccda8538..05ce1897 100644 --- a/Database/Adapters/MSSQLServer.vb +++ b/Database/Adapters/MSSQLServer.vb @@ -1,5 +1,6 @@ Imports System.ComponentModel Imports System.Data.SqlClient +Imports System.Threading Imports DigitalData.Modules.Encryption Imports DigitalData.Modules.Logging @@ -313,6 +314,19 @@ Public Class MSSQLServer End Using End Function + Public Function GetDatatableWithoutTransaction(pSqlCommand As String, Optional pTimeout As Integer = 120) As DataTable Implements IDatabase.GetDatatableWithoutTransaction + Using oSqlConnection = GetSQLConnection() + Return GetDatatableWithConnectionObject(pSqlCommand, oSqlConnection, TransactionMode.NoTransaction, Nothing, pTimeout) + End Using + + End Function + + Public Function GetDatatableWithoutTransaction(pSqlCommand As SqlCommand, Optional pTimeout As Integer = 120) As DataTable Implements IDatabase.GetDatatableWithoutTransaction + Using oSqlConnection = GetSQLConnection() + Return GetDatatableWithConnectionObject(pSqlCommand, oSqlConnection, TransactionMode.NoTransaction, Nothing, pTimeout) + End Using + End Function + ''' ''' Returns a datatable for a SQL Statement ''' @@ -340,6 +354,10 @@ Public Class MSSQLServer Return Await Task.Run(Function() GetDatatable(pSqlCommandObject, pTimeout)) End Function + Public Async Function GetDatatableWithoutTransactionAsync(pSqlCommand As String, Optional pTimeout As Integer = Constants.DEFAULT_TIMEOUT) As Task(Of DataTable) + Return Await Task.Run(Function() GetDatatableWithoutTransaction(pSqlCommand, pTimeout)) + End Function + Public Function GetDatatableWithConnection(pSqlCommand As String, pConnectionString As String, Optional Timeout As Integer = Constants.DEFAULT_TIMEOUT) As DataTable Using oConnection = GetConnection(pConnectionString) Return GetDatatableWithConnectionObject(pSqlCommand, oConnection, pTimeout:=Timeout) @@ -659,4 +677,5 @@ Public Class MSSQLServer Return oParamString End Function + End Class diff --git a/Database/Adapters/Oracle.vb b/Database/Adapters/Oracle.vb index 7a442e37..2f3b746c 100644 --- a/Database/Adapters/Oracle.vb +++ b/Database/Adapters/Oracle.vb @@ -251,5 +251,11 @@ Public Class Oracle End Try End Function + Public Function GetDatatableWithoutTransaction(SqlCommand As String, Optional Timeout As Integer = 120) As DataTable Implements IDatabase.GetDatatableWithoutTransaction + Throw New NotImplementedException() + End Function + Public Function GetDatatableWithoutTransaction(SqlCommand As SqlClient.SqlCommand, Optional Timeout As Integer = 120) As DataTable Implements IDatabase.GetDatatableWithoutTransaction + Throw New NotImplementedException() + End Function End Class diff --git a/Database/IDatabase.vb b/Database/IDatabase.vb index c7ea227f..aa0de240 100644 --- a/Database/IDatabase.vb +++ b/Database/IDatabase.vb @@ -11,6 +11,9 @@ Public Interface IDatabase Function GetDatatable(SqlCommand As String, Optional Timeout As Integer = Constants.DEFAULT_TIMEOUT) As DataTable Function GetDatatable(SqlCommand As SqlCommand, Optional Timeout As Integer = Constants.DEFAULT_TIMEOUT) As DataTable + Function GetDatatableWithoutTransaction(SqlCommand As String, Optional Timeout As Integer = Constants.DEFAULT_TIMEOUT) As DataTable + Function GetDatatableWithoutTransaction(SqlCommand As SqlCommand, Optional Timeout As Integer = Constants.DEFAULT_TIMEOUT) As DataTable + Function ExecuteNonQuery(SQLCommand As String, Timeout As Integer) As Boolean Function ExecuteNonQuery(SQLCommand As String) As Boolean