注册 登录
编程论坛 Delphi论坛

删除问题

liuqiang_sy 发布于 2007-05-24 12:04, 535 次点击
if messagebox(handle,pchar('要删除'+adoquery1.FieldByName('nname').AsString+'用户吗?'),'提示',1+32)=1then
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='delete from dl where nid ='+adoquery1.FieldValues['nid'];
adoquery1.ExecSQL;
adoquery1.Close;
adoquery1.Open;
end;

运行的时候老是提示找不到nid字段
2 回复
#2
phonbob2007-05-24 14:24
检查你的表。
#3
stars_chen2007-05-25 09:23
if messagebox(handle,pchar('要删除'+adoquery1.FieldByName('nname').AsString+'用户吗?'),'提示',1+32)=1then
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='delete from dl where nid ='+adoquery1.FieldValues['nid'];
adoquery1.ExecSQL;
adoquery1.Close;
adoquery1.Open;

end;

adoquery1.FieldValues['nid'] 這是你的條件和你用來做刪除動作的ADOQUERY1是一個元件.
你在做刪除動作時先是CLOSE了之前你查出的數據並CLEAR掉SELECT語句寫成DELETE語句,而你
的刪除條件已經CLOSE了當然就找不到NID字段了.
所以你的SELECT和DELETE要用不同的元件來處理.
1