我有一个用户表,现在实现了查询并显示在DBGrid中
我现在想删除其中一条记录,并删除用户权限表中相应的记录,执行SQL 语句
adotable1.colse;
adotable1.sql.clear;
adotable1.sql.add('delete from 用户表 where 用户名='''+name+'''');
adotable1.sql.add('delete from 用户权限表 where 用户名='''+name+'''');
adotable1.Execsql;
但是,执行时删除执行后,用户表的数据被删除了,而权限表没有变化
而且 DBGrid中也不再显示数据了
怎么回是啊 
各位帮帮忙吧!

解决方案 »

  1.   

    adotable1.colse;
    adotable1.sql.clear;
    adotable1.sql.add('delete from 用户表 where 用户名='''+name+'''');
    adotable1.sql.add('delete from 用户权限表 where 用户名='''+name+'''');
    adotable1.Execsql;你用的是 execsql当然不能显示数据了阿
    再加上
    adotable1.colse;
    adotable1.sql.clear;
    adotable1.sql.add('Select * from 用户表');
    adotable1.Open;
    不过,建议你不要用 adotable传递 删除和select操作,用一个adoquery执行删除操作,然后再
    adotable1.colse;
    adotable1.Open;
    即可阿!