DELPHI6+BDE+SQL2000关于SQL语句的问题?(50分)

D

djf813

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TfrmLogin.btn_OKClick(Sender: TObject);
var
a,b:string;
begin
query1.close;
query1.sql.clear;
query1.sql.add('update kw set cjf=''1'' where gh='''+a+''' and bh='''+b+'''');
query1.execsql;
end;
end;

在执行过程中CJF字段有时有个别记录没有更新,而SQL写成
query1.sql.add('update kw set cjf=''1'' where gh='''+a+''' and bh='+b);
后问题解决,请问为什么add语句要这么写?
2.我把程序改用ADO后,为什么速度慢的让我无法忍受,听说ADO速度
很快的,为什么我用这么慢?
 
这个问题呀,那是因为你的BH的数据类型是数字型的,数值型的字段赋值时不要带引号的。
另外第二个问题:我听说ADO是没有BDE快,只是不喜欢发布程序是得带上BDE,而且BDE也有些不太好的地方。
 
同意,你第一次写的是因为sql语句里b是带引号的,你可以设置断点看看。
ado速度我没感觉慢啊
 
SQL 2000的话速度ADO、BDE差不多的,其它的就是BDE快多了。
 
并不是ADO不好,得看你用的是什么数据库呀。
access:jet4.0
sql server:ado
intrbase:bde
 
问题结束
 

Similar threads

顶部