急!急!!连不上数据库!!(100分)

  • 主题发起人 主题发起人 ltqlyy125
  • 开始时间 开始时间
L

ltqlyy125

Unregistered / Unconfirmed
GUEST, unregistred user!
代码:
[blue][/blue][:)]
我写了个INI文件来读入数据库的路径以达到动态连接数据库的作用但读数据库时提示“access violation at address 004ff65655 in module 'project2.ext',read of address 0000033432”请问该怎么办?
::......

我写的代码如下:
procedure TForm1.FormCreate(Sender: TObject);
var
filename,path:string;
inifile:Tinifile;
begin
filename:=ExtractFilePath(application.ExeName)+'path.ini';
inifile:=tinifile.create(filename);
try
if fileexists(filename) then
begin
path:=inifile.ReadString('path','datapath','');
datamodule3.ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+path;
datamodule3.ADOConnection1.LoginPrompt:=false;
datamodule3.ADOConnection1.Connected:=true;
inifile.Free;
end
else
begin
Application.MessageBox('数据库联接出错!', '错误', MB_OK + MB_ICONERROR);
Application.Terminate;
end;
except
begin
Application.MessageBox('数据库联接出错!', '错误', MB_OK + MB_ICONERROR);
Application.Terminate;
end;
end;
end;

编译到datamodule3.ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+path;时就出错。


 
path:=inifile.ReadString('path','datapath','');
之后加一行:
ShowMessage(path);
运行的时候看看show出来的path是否和预期的一致?
 
path:=inifile.ReadString('path','datapath','');
不能正确得到值,(=null)
 
filename:=ExtractFilePath(application.ExeName)+'path.ini';
后面showmessage(filename)
看对不对,不对的话改成
filename:=ExtractFilePath(ParamStr(0))+'path.ini';
 
另外你的path.ini正确设置了吗
[path]
datapath=............. 而且这里要有回车,不能就这样结束了文件
就是说datapath=... 那行,需要用回车结束,你在文件末尾加多几个回车无所谓的,不要那么节约
 
我一门百了
 
后退
顶部