with ADOQuery1 do
begin
Close;
Sql.Clear;
Sql.Add('select * fromdata where ');
Sql.Add('rq=:Srq');
Parameters[0].Value := '200-05-01';
Open;
if RecordCount > 0 then Exit;
Sql.Clear;
Sql.Add('insert into yy_data');
Sql.Add('(bh,bsrq) values ');
Sql.Add('(:Sbh,:Srq)');
Parameters[0].Value := '3876297';
ExecSql;
end;
提起示错误为:
access violation at address 1f487cab in module 'msado15.dll'
write of address 01ed6020
在BDE下没有问题,用google搜索了一下说是版本问题,但没有找到
能解决该问题的版本。我不想分开执行,那样会累死人的。
begin
Close;
Sql.Clear;
Sql.Add('select * fromdata where ');
Sql.Add('rq=:Srq');
Parameters[0].Value := '200-05-01';
Open;
if RecordCount > 0 then Exit;
Sql.Clear;
Sql.Add('insert into yy_data');
Sql.Add('(bh,bsrq) values ');
Sql.Add('(:Sbh,:Srq)');
Parameters[0].Value := '3876297';
ExecSql;
end;
提起示错误为:
access violation at address 1f487cab in module 'msado15.dll'
write of address 01ed6020
在BDE下没有问题,用google搜索了一下说是版本问题,但没有找到
能解决该问题的版本。我不想分开执行,那样会累死人的。
解决方案 »
- 在listbox中怎么播放音乐啊?
- 在DELPHI 中控制扫描仪
- 什么软件能记录和分析,客户端和服务端的通讯过程(比如发送和接收是否成功)??
- 打印问题
- 怎样快速在两个数据库之间更新数据?
- 三层中MIDAS.DLL出错
- 高手请进>>>>>>>>>>>>>>>怎样捕获声卡输出的声音?(呵呵,当然不包括用电线连接linein和lineout)
- TListBox中,怎么置亮被选中的项?(一个小小的问题!:)
- 请问panel2.caption:=format('origin:(%d,%d)',[x,y])如何解释?
- 如何判断系统是否已经安装IIS?给70分!
- 在线等待:退格键在键码是多少,key=...............????
- 高手不吝赐教
begin
Close;
Sql.Clear;
Sql.Add('select * fromdata where ');
Sql.Add('rq=:Srq');
Parameters[0].Value := '200-05-01';
Open;
if RecordCount > 0 then Exit;
Sql.Clear;
Sql.Add('insert into yy_data');
Sql.Add('(bh,bsrq) values ');
Sql.Add('(:Sbh,:Srq)');
Parameters[0].Value := '3876297';
ExecSql;
end;
提起示错误为:
access violation at address 1f487cab in module 'msado15.dll'
write of address 01ed6020
在BDE下没有问题,用google搜索了一下说是版本问题,但没有找到
能解决该问题的版本。我不想分开执行,那样会累死人的。
win98第二版+Delphi6 用sybase sql anywhere5.0 就出现上面的问题
ado2.5 2.6 2.7 我都试了,还是出现上述问题
有没有人用sybase sql anywhere5.0 的帮帮忙
最新的MDAC_TYP.EXE 2.7版本安装后还是同样的问题,不过后来检查adoconnection连接串时发现在使用了
本地ODBC连接,所以出现上述问题,将adoconnection
的连接直接连向数据库,问题就没有了,而且速度很快
begin
Close;
Sql.Clear;
Sql.Add('select * fromdata where ');
Sql.Add('rq=:Srq');
Parameters[0].Value := '200-05-01';
Open;
if RecordCount > 0 then Exit; Close; //加上这句试试 Sql.Clear;
Sql.Add('insert into yy_data');
Sql.Add('(bh,bsrq) values ');
Sql.Add('(:Sbh,:Srq)');
Parameters[0].Value := '3876297';
ExecSql;
end;
Sql.Add('insert into yy_data');
Sql.Add('(bh,bsrq) values ');
Sql.Add('(:Sbh,:Srq)'); Parameters[0].Value := '3876297';
//为什么没有 Parameters[1].Value ???
ExecSql;
end;
不要用Parameters[0].Value 用Parameters.ParamByName('Srq').value
不过某些ADO的驱动的确是有点问题的。比如access的ADO驱动,当使用sum函数时就会在调试的时候出现出错提示,但编译后直接运行,错误又被屏蔽了,而且执行结果正确,但在调试时出现错误提示总是令人不舒服的。
我所有版本都试过了,包括2.60.6526.0版。with ADOQuery1 do
begin
Close;
Sql.Clear;
Sql.Add('select * fromdata where ');
Sql.Add('rq=:Srq');
Parameters[0].Value := '200-05-01';
Open;
if RecordCount > 0 then Exit; Close; //加上这句试试 Sql.Clear;
Sql.Add('insert into yy_data');
Sql.Add('(bh,bsrq) values ');
Sql.Add('(:Sbh,:Srq)');
Parameters[0].Value := '3876297';
Parameters[1].Value := '2002-02-01';
ExecSql;
end;这样还是会出错的。
这样会出错的,要直接连数据库,
比如说,用SQL server,
在adoconnection生成连接串的的wizard中,
直接用服务器的IP,驱动是选 for ms sql server
不要选 for odbc的!!!连接直接连向数据库,问题就没有了,而且速度很快
如果你用的是别的数据库,要用到odbc
就不要用ado
如果sybase sql anywhere5.0怎样解决,真的没人能回答吗?
ADO不通过ODBC能连sybase sql anywhere5.0吗?
我的用是sybase sql anywhere5.0单机版。
伙再干什么,如果有有好办法,写信给我,到时给分.
[email protected]