程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 如何設置對VB數據庫連接的動態路徑

如何設置對VB數據庫連接的動態路徑

編輯:VB綜合教程
我個人因為經常作一些數據庫方面的程序,對於程序間如何與數據庫進行接口的問題之煩是深有體會,因為VB在數據庫鏈接的時候,一般是靜態,即數據庫存放的路徑是固定的,如用VB的DATA,adodc,DataEnvironment等到作數據庫鏈接時,如果存放數據庫的路徑被改變的話,就會找不到路經,真是一個特別煩的事。
  筆者的解決方法是利用app.path來解決這個問題。

一、用data控件進行數據庫鏈接,可以這樣:
  在form_load()過程中放入:
  privateform_load()
  DimstrAsString'定義
  str=App.Path
  IfRight(str,1)<>""Then
  str=str ""
  EndIf
  data1.databasename=str&"數據庫名"
  data1.recordsource="數據表名"
  data1.refresh
  subend
  這幾句話的意為,打開當前程序運行的目錄下的數據庫。
  你只要保證你的數據庫在你程序所在的目錄之下就行了。

二、利用adodc(ADODataControl)進行數據庫鏈接:
  privateform_load()
  DimstrAsString'定義
  str=App.Path
  IfRight(str,1)<>""Then
  str=str ""
  EndIf
  str="Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource="&str&" sl.mdb"
  Adodc1.ConnectionString=str
  Adodc1.CommandType=adCmdText
  Adodc1.RecordSource="select*fromtable3"
  Adodc1.Refresh
  endsub

三、利用DataEnvironment進行數據庫鏈接
  可在過程中放入:
  OnErrorResumeNext
  IfDataEnvironment1.rsCommand1.State<>adStateClosedThen
  DataEnvironment1.rsCommand1.Close'如果打開,則關閉
  EndIf
  'i=InputBox("請輸入友人編號:","輸入")
  'Ifi=""ThenExitSub
  DataEnvironment1.Connection1.OpenApp.Path&"userdatabase sl.mdb"
  DataEnvironment1.rsCommand1.Open"select*fromtable3where編號='"&i&"'"
  'SetDataReport2.DataSource=DataEnvironment1
  'DataReport2.DataMember="command1"
  'DataReport2.show
  endsub

四、利用ADO(ActiveXDataObjects)進行編程:
  建立連接:
  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&" sl.mdb"
  conn.openstr
  rs.cursorlocation=aduseclient
  rs.open"數據表名",conn,adopenkeyset.adlockpessimistic
  用完之後關閉數據庫:
  conn.close
  setconn=nothing

以上代碼在VB6,win98上運行通過,如有問題請發郵件給我:
  作者:張振興
  E_mail:[email protected]

->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved