vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Erstellung von Connection und Recordset mit ADO in Funktionen auslagern 
Autor: Pauli
Datum: 08.04.08 22:33

Hallo zusammen,

ich hätte mal eine Frage zum Connection-Objekt in ADO bzw. zu ADO allgemein.

Und zwar möchte ich gerne in meinem Programm via ADO auf eine Access-DB zugreifen. Da sich in dem Programm wohl Dutzende oder Hunderte Datenbankabfragen sammeln werden, hatte ich überlegt, ob man den DB-Aufruf nicht in zwei Funktionen auslagert, um den Code zum Öffnen der Connection bzw. des Recordsets nicht redundant zigmal im Programm stehen zu haben:

Hierzu mal ein einfacher Entwurf der Funktionen zum Öffnen einer Connection und eines Recordsets:

Public Function funcADO_Connection_erstellen(strDatei As String, Optional _
  ADO_Mode As Integer = 16) As ADODB.Connection
 
Set funcADO_Connection_erstellen = New ADODB.Connection
 
With funcADO_Connection_erstellen
 .CursorLocation = adUseClient
 .Mode = 16
 .Provider = "Microsoft.Jet.OLEDB.4.0"
 .ConnectionString = strDatei
 
 .Open
End With
 
End Function
 
Public Function funcADO_Recordset_erstellen(ADO_Connection As ADODB.Connection, _
  strDatei As String, strSQL As String, _
Optional ByVal ADO_CursorType As ADODB.CursorTypeEnum = adOpenDynamic, _
Optional ByVal ADO_CursorLocation As ADODB.CursorLocationEnum = adUseClient, _
Optional ByVal ADO_LockType As ADODB.LockTypeEnum = adLockOptimistic) As _
ADODB.Recordset
 
Set funcADO_Recordset_erstellen = New ADODB.Recordset
 
With funcADO_Recordset_erstellen
 .CursorLocation = ADO_CursorLocation
 
 .Open strSQL, ADO_Connection, ADO_CursorType, ADO_LockType
End With
 
End Function
Der Aufruf könnte dann wie folgt aussehen:
Dim ADO_Recordset As New ADODB.Recordset
Dim strSQL As String
 
strSQL = "SELECT * FROM Produkte"
 
Set ADO_Recordset = funcADO_Recordset_erstellen(funcADO_Connection_erstellen( _
  strDBFilename), strDBFilename, strSQL)
Meine Fragen hierzu:
- Was haltet Ihr grundsätzlich von so einer Lösung? Ist das sinnvoll oder Quatsch?
- Wie kann ich die Connection wieder schließen? Nach Aufruf der "funcADO_Recordset_erstellen"-Funktion kann ich nur noch auf das Recordset zugreifen... Muss ich die Connection überhaupt wieder schließen? Wenn ja: wie mache ich das bei diesem Aufbau nach dem Funktionsaufruf?

Vielen Dank und viele Grüße!

Beitrag wurde zuletzt am 08.04.08 um 22:40:31 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Erstellung von Connection und Recordset mit ADO in Funktione...1.214Pauli08.04.08 22:33
Re: Erstellung von Connection und Recordset mit ADO in Funkt...755wb-soft08.04.08 22:44
Re: Erstellung von Connection und Recordset mit ADO in Funkt...754Pauli08.04.08 22:48
Re: Erstellung von Connection und Recordset mit ADO in Funkt...724wb-soft09.04.08 07:38
Re: Erstellung von Connection und Recordset mit ADO in Funkt...732Pauli09.04.08 17:37

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel