紧急求救:如何连接Access数据库(50分)

  • 主题发起人 主题发起人 caochen
  • 开始时间 开始时间
C

caochen

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ADO控件连接Access数据库
str:='Microsoft.Jet.OLEDB.4.0;';
str:=str+'Data Source='+GetCurrentDir+'/jewelry.mdb;';
str:=str+'Persist Security Info=False';
ADOConnection1.ConnectionString:=str;
try
ADOConnection1.Open();
except

end;
出错,说“找不到可安装的ISAM”,各位大侠,是什么地方出了问题?
 
showmessage一下看看?
 
我这么连没问题呀
安装一下MDAC试一试 或把 库转为 Access97 试试
 
应为:
str:='Provider=Microsoft.Jet.OLEDB.4.0;';
str:=str+'Data Source='+GetCurrentDir+'/jewelry.mdb;';
str:=str+'Persist Security Info=False';
ADOConnection1.ConnectionString:=str;
try
ADOConnection1.Open();
except
end;
其实直接赋值就搞定:
str:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=./jewelry.mdb;Persist Security Info=False';
 
在设计模式下,用dbgrid看一下是否能够正确显示,若不能正确显示,则可能问题出在ado
的连接上
 
用odbc连接,很简单的。
只是程序发布时要在目的机上装一下BDE,不过用installshield很容易搞定的。
 
用控件 DiamondAccess 或 Kadao (左轻候 推荐的)

快, 好用.
 
问题出在 GetCurrentDir 上:
GetCurrentDir函数返回结果:
if 根目录则返回:盘符+'/' ( D:/)
else 返回不带 '/'的路径 (D:/Test)
如 根目录 则错误:
str ='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D://jewelry.mdb;Persist Security Info=False'

 
我试过直接写成
str:='Provider=Microsoft.Jet.OLEDB.4.0;';
str:=str+'Data Source=./jewelry.mdb;';
str:=str+'Persist Security Info=False';
...
就可以呀
 
你先在IDE中链接ADOConnection1.ConnectionString,试试能否链接?

假如在IDE中可以,那么就是你写的Str有问题。

你可以直接copy在IDE链接的那个字符串ADOConnection1.ConnectionString,一定OK!
 
我是这样做的:
DBPara = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%S;Persist Security Info=False;Jet OLEDB:Database Password=%S';
adoConn.ConnectionString := Format(DBPara, [DataFile, DBpwd]);
还没碰到你的问题
 
后退
顶部