var
itemid:string;
begin
....
table1.setkey;
table1.fieldbyname('nodeid').asstring:=itemid;
if table1.gotokey then
table1.delete;
以上的这段代码是不是这样的理解,setkey建立查询,条件是table1.fieldbyname('nodeid').asstring:=nodeid;gotokey为当条件成立的,执行table1.delete;也就是删除table1中nodeid记录。
那么用adoquery来实现的话,是不是这样的来实现(连接的是access数据库):
var
itemid:string;
begin
....
adoquery1.open;
adoquery.sql.clear;
adoquery.sql.add('select nodeid from [tgroup] where nodeid=itemid');
adoquery1.delete;
end;
以上两段代码的结果是不是一样啊,或许adoquery有更为简单的方法可用,同时sql.add中的查询有问题,不知连接access数据库时的SQL查询的格式怎样的写,以上问题,恳请各位大师指点一二;
itemid:string;
begin
....
table1.setkey;
table1.fieldbyname('nodeid').asstring:=itemid;
if table1.gotokey then
table1.delete;
以上的这段代码是不是这样的理解,setkey建立查询,条件是table1.fieldbyname('nodeid').asstring:=nodeid;gotokey为当条件成立的,执行table1.delete;也就是删除table1中nodeid记录。
那么用adoquery来实现的话,是不是这样的来实现(连接的是access数据库):
var
itemid:string;
begin
....
adoquery1.open;
adoquery.sql.clear;
adoquery.sql.add('select nodeid from [tgroup] where nodeid=itemid');
adoquery1.delete;
end;
以上两段代码的结果是不是一样啊,或许adoquery有更为简单的方法可用,同时sql.add中的查询有问题,不知连接access数据库时的SQL查询的格式怎样的写,以上问题,恳请各位大师指点一二;
adoquery.sql.clear;
adoquery.sql.add('delete from [tgroup] where nodeid=itemid');
adoquery1.execsql;
adoquery.sql.clear;
adoquery.sql.add('delete from [tgroup] where nodeid=''itemid''');
adoquery1.execsql;
adoquery.sql.clear;
adoquery.sql.add('delete from [tgroup] where nodeid=''itemid''');
adoquery1.execsql;
建议使用locate()定位到要查询的记录上,然后使用delete删除!