我用ado连接sybase数据库,在调代码时没问题。但直接运行程序就无响应。
后来只执行一个查库语句,发现报的错是
Access violation at address 4DD2F155 in module 'msado15.dll'. Read of address C000000D.
请问应该如何解决啊?
以前用ado连接sql数据库没遇到过这样的问题。
后来只执行一个查库语句,发现报的错是
Access violation at address 4DD2F155 in module 'msado15.dll'. Read of address C000000D.
请问应该如何解决啊?
以前用ado连接sql数据库没遇到过这样的问题。
解决方案 »
- DataAbstract如何使用Blob?
- 比较难实现的问题,从主EXE调用另外一个EXE程序..请高手帮忙
- 我想把INI文件搞成这样,然后根据换行符或者其他办法读出它的行数!
- 100分问:繁简转换的问题!!!分不够在开帖!!!
- 怎样用spcomm打开10以上的串口?
- 关于用DBEXPRESS 组件开发一对多(主/从)关系头疼的问题
- 导出数据出现负数情况!!!
- 如何把两个系统合并为一个系统(两个独立的系统) 如何实现集成??
- 报表高手请进来看看
- 请问:框架(Frame)为什么不能动态生成两次 ?????????????
- 吉时已到,散分
- 可以不用Read/WriteProcessMemory读写内存吗?
var
sDataSource: string;
sUser: string;
sPwd: string;
i: Integer;
begin
Result := False;
sDataSource := Getinistring('Melinets','DataSource','');
sUser := GetIniString('Melinets','UserID','');
sPwd := GetInistring('Melinets','Pwd','');
vg_sConnectString := 'Provider=MSDataShape.1;Persist Security Info=True;'+'User ID='+sUser+
';Password='+sPwd+';Data Provider=MSDASQL;Data Source='+sDataSource;
SysDM.ADOConnection1.Connected := False;
SysDM.ADOConnection1.ConnectionString := vg_sConnectString;
try
SysDM.ADOConnection1.Connected := True;
Result := True;
for i := 0 to SysDM.ComponentCount - 1 do
if SysDM.Components[i] is TADOQuery then
begin
TADOQuery(SysDM.Components[i]).Connection := SysDM.ADOConnection1;
TADOQuery(SysDM.Components[i]).Prepared := True;
TADOQuery(SysDM.Components[i]).CommandTimeout := 100;
end;
except
Result := False;
end;
end;这是数据库连接的代码
for i := 0 to SysDM.ComponentCount - 1 do
if SysDM.Components[i] is TADOQuery then
begin
TADOQuery(SysDM.Components[i]).Connection := SysDM.ADOConnection1;
TADOQuery(SysDM.Components[i]).Prepared := True;
TADOQuery(SysDM.Components[i]).CommandTimeout := 100;
end;
代码里这段屏蔽掉就好了。
但我不明白为什么。我不想一个一个query加的时候总去写连接。这样的话就省事了。
我改怎么办呢?