我个人因为经常作一些数据库方面的程序,对于程序间如何与数据库进行接口的问题之烦是深有体会,因为vb在数据库链接的时候,一般是静态,即数据库存放的路径是固定的,如用vb的data,adodc,dataenvironment 等到作数据库链接时,如果存放数据库的路径被改变的话, 就会找不到路经,真是一个特别烦的事。
笔者的解决方法是利用app.path 来解决这个问题。
一、用data控件进行数据库链接,可以这样:
在form_load()过程中放入:
private form_load()
dim str as string '定义
str = app.path
if right(str, 1) <> "\" then
str = str + "\"
end if
data1.databasename=str & "\数据库名"
data1.recordsource="数据表名"
data1.refresh
sub end
这几句话的意为,打开当前程序运行的目录下的数据库。
你只要保证你的数据库在你程序所在的目录之下就行了。
二、利用adodc(ado data control)进行数据库链接:
private form_load ()
dim str as string '定义
str = app.path
if right(str, 1) <> "\" then
str = str + "\"
end if
str = "provider=microsoft.jet.oledb.3.51;persist security info=false;data source=" & str & "\tsl.mdb"
adodc1.connectionstring = str
adodc1.commandtype = adcmdtext
adodc1.recordsource = "select * from table3"
adodc1.refresh
end sub
三、利用dataenvironment进行数据库链接
可在过程中放入:
on error resume next
if dataenvironment1.rscommand1.state <> adstateclosed then
dataenvironment1.rscommand1.close '如果打开,则关闭
end if
'i = inputbox("请输入友人编号:", "输入")
'if i = "" then exit sub
dataenvironment1.connection1.open app.path & "\userdatabase\tsl.mdb"
dataenvironment1.rscommand1.open "select * from table3 where 编号='" & i & "'"
'set datareport2.datasource = dataenvironment1
'datareport2.datamember = "command1"
'datareport2.show
end sub
四、利用ado(activex data objects)进行编程:
建立连接:
dim conn as new adodb.connection
dim rs as new adodb.recordset
dim str
str = app.path
if right(str, 1) <> "\" then
str = str + "\"
end if
str = "provider=microsoft.jet.oledb.3.51;persist security info=false;data source=" & str & "\tsl.mdb"
conn.open str
rs.cursorlocation=aduseclient
rs.open "数据表名",conn,adopenkeyset.adlockpessimistic
用完之后关闭数据库:
conn.close
set conn=nothing
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器