From ad9cb46354386b3c51337b6115602b497d962fb1 Mon Sep 17 00:00:00 2001 From: pitzm Date: Fri, 6 Mar 2026 11:13:44 +0100 Subject: [PATCH] =?UTF-8?q?Modules.Database:=20IDatabase-Schnittstelle=20u?= =?UTF-8?q?m=20zwei=20weitere=20Methoden=20erweitert.=20Inklusive=20der=20?= =?UTF-8?q?Implementierung.=20Notwendig=20f=C3=BCr=20MOT-Tabellen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Database/Adapters/MSSQLServer.vb | 19 +++++++++++++++++++ Database/Adapters/Oracle.vb | 6 ++++++ Database/IDatabase.vb | 3 +++ 3 files changed, 28 insertions(+) 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