저는 개인적으로 일부 데이터베이스 프로그램을 자주 수행하므로 프로그램과 데이터베이스 간의 인터페이스 방법에 대한 문제를 깊이 이해하고 있습니다. 왜냐하면 VB가 데이터베이스에 연결할 때 일반적으로 정적, 즉 데이터베이스가 저장되는 경로이기 때문입니다. VB의 DATA, adodc, DataEnvironment 등을 이용하여 데이터베이스에 접속할 때, 데이터베이스를 저장할 경로를 변경하면 경로를 찾을 수 없는 현상이 발생하여 정말 짜증나는 현상이 발생합니다.
저자의 해결책은 app.path를 사용하여 이 문제를 해결하는 것입니다.
1. 다음과 같이 데이터 컨트롤을 사용하여 데이터베이스에 연결합니다.
form_load() 프로세스를 넣으세요:
PRivateform_load()
DimstrAsString' 정의
str=App.Path
IfRight(str,1)<>"/"그러면
str=str "/"
종료
data1.databasename=str&"/데이터베이스 이름"
data1.recordsource="데이터 테이블 이름"
데이터1.새로고침
서브엔드
이 문장의 의미는 현재 프로그램이 실행 중인 디렉터리에서 데이터베이스를 여는 것입니다.
프로그램이 위치한 디렉토리에 데이터베이스가 있는지 확인하기만 하면 됩니다.
2. 데이터베이스 링크에 adodc(ADODataControl)를 사용합니다.
개인양식_로드()
DimstrAsString' 정의
str=App.Path
IfRight(str,1)<>"/"그러면
str=str "/"
종료
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
엔드 서브
3. 데이터베이스 연결을 위해 DataEnvironment를 사용하십시오.
프로세스에 넣을 수 있습니다.
OnErrorResumeNext
IfDataEnvironment1.rsCommand1.State<>adStateClosedThen
DataEnvironment1.rsCommand1.Close'열려 있으면 닫습니다.
종료
'i=InputBox("친구번호를 입력하세요:", "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
엔드 서브
4. ADO(ActiveXDataObjects)를 사용한 프로그래밍:
연결을 설정합니다.
Dimconnasnewadodb.connection
Dimmrsasnewadodb.recordset
딤스트르
str=App.Path
IfRight(str,1)<>"/"그러면
str=str "/"
종료
str="Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource="&str&"/tsl.mdb"
conn.openstr
rs.cursorlocation=aduseclient
rs.open"데이터 테이블 이름",conn,adopenkeyset.adlockpessimistic
사용 후 데이터베이스를 닫습니다.
연결 닫기
setconn=아무것도->