做一个从ini中读数据连接数据库的程序:
1.我把Adoconnection1放到DataModule中,Adoquery1放到Form1中,
2.procedure TForm1.FormCreate(Sender: TObject);
var
Myinifile:TInifile;
Filename:string;
begin
Filename:=ExtractFilePath(Paramstr(0))+'connstr.ini';
Myinifile:=Tinifile.Create(Filename);
try
try
DataModule2.ADOConnection1.ConnectionString:=Myinifile.ReadString('conn','conn','');
Adoquery1.Active:=true;
except
on e:exception do
showmessage(e.Message);
end;
finally
Myinifile.Free;
end;
end;如果Adoconnection不放到Datamodule中,放到Form1中,就可以连接,但放到DM中就提示出错原因为:
Project Project1.ext raised exception class EAccessViolation with message'Access violation at
address 004AB011 in module 'Project2.exe', Read of address 0000000058',Process stopped ,use step
or Run to continue我把代码放到formshow 或者 formactive中也出现相同的错误!而且连接不上,请问如何解决?!?...感谢!本人必揭帖!
1.我把Adoconnection1放到DataModule中,Adoquery1放到Form1中,
2.procedure TForm1.FormCreate(Sender: TObject);
var
Myinifile:TInifile;
Filename:string;
begin
Filename:=ExtractFilePath(Paramstr(0))+'connstr.ini';
Myinifile:=Tinifile.Create(Filename);
try
try
DataModule2.ADOConnection1.ConnectionString:=Myinifile.ReadString('conn','conn','');
Adoquery1.Active:=true;
except
on e:exception do
showmessage(e.Message);
end;
finally
Myinifile.Free;
end;
end;如果Adoconnection不放到Datamodule中,放到Form1中,就可以连接,但放到DM中就提示出错原因为:
Project Project1.ext raised exception class EAccessViolation with message'Access violation at
address 004AB011 in module 'Project2.exe', Read of address 0000000058',Process stopped ,use step
or Run to continue我把代码放到formshow 或者 formactive中也出现相同的错误!而且连接不上,请问如何解决?!?...感谢!本人必揭帖!
解决方案 »
- 请教如何在delphi中单击按钮后调用本地邮箱发邮件.
- NMUDP小问题,100分送上你来拿
- 两个问题,高手做答,88分答谢,图个吉利
- 请问像鼠标事件触发之类的怎么写?
- 送份哦,网站重开张
- 运行一些代码时经常提示“access violation at assress 77e3b03d in module'ntdll.dll'.write ofaddress 00000000”??
- 在线等待?急!!
- webbroker
- 谁有例子:关于跟踪windows内任一程序对注册表的操作。
- 我不能上网了,大家帮帮忙呀!!!
- 在设计窗口中,如何在设计状态将TLabel和TImageList控件隐藏??隐藏后又如何使它可见??
- 高强度送分交流代码--只要你有收集代码都可以近来溜溜-有进必给分(不够再给分)
你在Form的onCreate中,先DataModule := TDataModule.Create(nil);
var DataModule2:TdataModule;
//再
DataModule2 := TDataModule.Create(nil);提示DataModule2.ADOConnection1.ConnectionString:=Myinifile.ReadString('conn','conn','');这行出错啊!
这行出错!绝对是这里出错!
你只是读出了CONN的东西!别的呢?除非你的INI中是写成CONN=-----------------------。
数据库连接的那一大串东西!。
如果是这样的话,那你写INI文件又没有意思了!都不可以动态修改了!
解决你问题的法:让 DataModule2 自动创建!!!方法: 菜单->Project->Options... 选中 Froms 页!
你的 DataModule2 应该是在右边 Available forms 里的,你将其移到 左边 Auto-create forms 里面!OK!再运行就不会出错了,测试过的!
呵呵,当然,你不用在代码里面再创建了!