Ich persönlich mache oft einige Datenbankprogramme, daher habe ich ein tiefes Verständnis für das Problem der Schnittstelle zwischen Programmen und der Datenbank, denn wenn VB eine Verbindung zur Datenbank herstellt, ist diese normalerweise statisch, dh der Pfad, in dem die Datenbank gespeichert ist ist behoben, z. B. wenn VBs DATA, ADODC, DataEnvironment usw. zum Herstellen einer Verbindung zur Datenbank verwendet werden und der Pfad zum Speichern der Datenbank geändert wird, wird der Pfad nicht gefunden, was wirklich ärgerlich ist.
Die Lösung des Autors besteht darin, app.path zu verwenden, um dieses Problem zu lösen.
1. Verwenden Sie das Datensteuerelement, um wie folgt eine Verbindung zur Datenbank herzustellen:
Fügen Sie den form_load()-Prozess ein:
PRivateform_load()
DimstrAsString‘-Definition
str=App.Path
IfRight(str,1)<>"/"Then
str=str "/"
EndIf
data1.databasename=str&"/Datenbankname"
data1.recordsource="Datentabellenname"
data1.refresh
unterwerfen
Die Bedeutung dieser Sätze besteht darin, die Datenbank in dem Verzeichnis zu öffnen, in dem das aktuelle Programm ausgeführt wird.
Sie müssen lediglich sicherstellen, dass sich Ihre Datenbank in dem Verzeichnis befindet, in dem sich Ihr Programm befindet.
2. Verwenden Sie adodc (ADODataControl) für die Datenbankverknüpfung:
privateform_load()
DimstrAsString‘-Definition
str=App.Path
IfRight(str,1)<>"/"Then
str=str "/"
EndIf
str="Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource="&str&"/tsl.mdb"
Adodc1.ConnectionString=str
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="select*fromtable3"
Adodc1.Refresh
Endsub
3. Verwenden Sie DataEnvironment für die Datenbankverknüpfung
Sie können in den Prozess Folgendes einfügen:
OnErrorResumeNext
IfDataEnvironment1.rsCommand1.State<>adStateClosedThen
DataEnvironment1.rsCommand1.Close'Wenn geöffnet, schließen
EndIf
'i=InputBox("Bitte geben Sie die Freundesnummer ein:", "Enter")
'Ifi=""ThenExitSub
DataEnvironment1.Connection1.OpenApp.Path&"/userdatabase/tsl.mdb"
DataEnvironment1.rsCommand1.Open"select*fromtable3where number='"&i&"'"
'SetDataReport2.DataSource=DataEnvironment1
'DataReport2.DataMember="command1"
'DataReport2.show
Endsub
4. Programmierung mit ADO (ActiveXDataObjects):
Verbindung herstellen:
dimconnasnewadodb.connection
dimrsasnewadodb.recordset
dimstr
str=App.Path
IfRight(str,1)<>"/"Then
str=str "/"
EndIf
str="Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource="&str&"/tsl.mdb"
conn.openstr
rs.cursorlocation=aduseclient
rs.open"Datentabellenname",conn,adopenkeyset.adlockpessimistisch
Schließen Sie die Datenbank nach der Verwendung:
Verbindung schließen
setconn=nothing->