还是sql的问题(50分)

  • 主题发起人 主题发起人 darzui
  • 开始时间 开始时间
D

darzui

Unregistered / Unconfirmed
GUEST, unregistred user!
这样几条语句
query1.close;
query1.unprepare;
query1.SQL.Clear;
query1.SQL.add('delete from cpdb where id=:p_id');
query1.ParamByName('p_id').asstring:=query1.fieldbyname('id').asstring;
query1.Prepare;
query1.execsql;
query1.sql.clear;
query1.sql.add('select * from cpdb order by id');
query1.open;
就是要删除当前的记录,然后用一个select语句显示结果,但是执行之后,数据表居然没有
任何变化,这是怎么回事??????请各位赐教。
 
query1.ParamByName('p_id').asstring:=query1.fieldbyname('id').asstring;
这句好象有问题。Query1没有执行查询前query1.fieldbyname('id').asstring不会有值。
自然也不可能删掉任何记录。


query1.close;
query1.SQL.Clear;
query1.SQL.add('delete from cpdb where id='''+SqlStr+'''');
//Sqlstr是你要删的记录的ID
query1.execsql;
query1.sql.clear;
query1.sql.add('select * from cpdb order by id');
query1.open;


 
可能是有事务没有提交。
 
wangjerry老兄说的是对的。呵呵,是我粗心了,后来用一个bookmark搞定了
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
604
import
I
后退
顶部