//删除信息
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('delete * from 通信簿 where 邮件地址 = '+DBGrid1.Columns[2].FieldName);
open;
end;
为什么这样删除不行?我想选中DBGrid1里的一条信息,再点一个按扭删除它,为什么不行?
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('delete * from 通信簿 where 邮件地址 = '+DBGrid1.Columns[2].FieldName);
open;
end;
为什么这样删除不行?我想选中DBGrid1里的一条信息,再点一个按扭删除它,为什么不行?
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('delete * from 通信簿 where 邮件地址 = '+DBGrid1.Columns[2].FieldName);
exec;
free;
end;
用楼上删除是实现了,但删除的时候dbgrid1全空了。重新打开程序才知道删掉了。如何在删除后实现dbgrid的刷新呢?
begin
close;
sql.Clear;
sql.Add('delete * from 通信簿 where 郵件地址 = '
+ QuotedStr(DBGrid1.DataSource.DataSet.FieldByName(
DBGrid1.Columns[2].FieldName).AsString));
ExecSQL;
end;// 保證Columns[2]存在, 即DBGrid有至少有3列
adoquery1.delete;
这样不行吗?