string ls_defaultdir,ls_dbq
//数据库所在路径
ls_defaultdir=GetCurrentDirectory()
ls_dbq=ls_defaultdir+'/test.mdb'
SQLCA.DBParm = "ConnectString='DSN=MS Access Database;UID=admin;PWD=;DefaultDir="+ls_defaultdir+";DBQ="+ls_dbq+";'"
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = True
connect using sqlca;
if sqlca.sqlcode<>0 then
messagebox('err','sad'+sqlca.sqlerrtext)
else
messagebox('..','not sad')
end if
补充:
原贴:http://community.youkuaiyun.com/Expert/topic/4245/4245506.xml?temp=.1162531
回复1:
代码例子:
SQLCA.DBMS = "OLE DB"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDER='Microsoft.Jet.OLEDB.4.0',DATASOURCE='d:/a.mdb'"
//SQLCA.LogPass = ""
//SQLCAa.LogId = ""
CONNECT USING SQLCA;
IF SQLCA.sqlcode = -1 THEN
Messagebox('连接错误',SQLCA.sqlerrtext)
halt close
END IF
回复2:
楼上的方法我试过(access95、access2000)都提示错误:
DBMS OLE DB is not supported in your current installation
我用的也是PB9。
但我用下面的语句可以,前提必须先建ODBC:
//数据库所在路径
string ls_dbq
ls_dbq= "d:/a.mdb"
SQLCA.DBParm = "ConnectString='DSN=MS Access Database;UID=;PWD=;DefaultDir=;DBQ="+ls_dbq+";'"
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = True
connect using sqlca;
if sqlca.sqlcode<>0 then
messagebox('警告!','错误:'+sqlca.sqlerrtext)
end if
回复3:
你检查一下是否安装了oledb连接接口吧,我用上面代码可以连接ACCESS的. 如果你安装了,你打开database画板后可以看到有OLE DB项的. 如果没有安装,请用PB的安装盘再装一次
回复4:
我确实是按默认方式安装PB9的。我重新按自定义方式安装PB9就可以用了。但由于数据库路径太长,在DB Profile中无法加入包含路径的数据库名,有点遗憾。