小弟现在想把查找出来的表格控件中的多条记录全部删除,并将里面记录写进另外一个表中
不知道该怎么写啊!!!
小地以前的代码是:
procedure TForm1.Button2Click(Sender: TObject);
var str:string;
a,b,c,d,e,f,g:string;
begin
a:=query1.Fieldbyname('recmac').AsString;
b:=query1.Fieldbyname('spname').AsString;
if query1.Eof then
begin
application.MessageBox('没有可删除的记录。','删除');
Button2.Enabled:=false;
exit;
end; str:='确实要删除用户'+trimright(query1.fieldbyname('recmac').AsString)+'?';
if Application.messagebox(pchar(str),'删除',MB_YESNO)=ID_YES then
query1.Delete; if query1.Eof then
Button2.Enabled:=false;end;这样只能删除一条
希望大哥帮忙啊,不然今天又要加班了哦!!!
不知道该怎么写啊!!!
小地以前的代码是:
procedure TForm1.Button2Click(Sender: TObject);
var str:string;
a,b,c,d,e,f,g:string;
begin
a:=query1.Fieldbyname('recmac').AsString;
b:=query1.Fieldbyname('spname').AsString;
if query1.Eof then
begin
application.MessageBox('没有可删除的记录。','删除');
Button2.Enabled:=false;
exit;
end; str:='确实要删除用户'+trimright(query1.fieldbyname('recmac').AsString)+'?';
if Application.messagebox(pchar(str),'删除',MB_YESNO)=ID_YES then
query1.Delete; if query1.Eof then
Button2.Enabled:=false;end;这样只能删除一条
希望大哥帮忙啊,不然今天又要加班了哦!!!
beign
...
query1.next;
end;
begin
while not Query1.Eof then query1.Delete;
{不需要Next,因为删除后会自动指向下一条记录}
end;
或者直接用sql语句
var str:string;
a,b,c,d,e,f,g:string;
begin
a:=query1.Fieldbyname('recmac').AsString;
b:=query1.Fieldbyname('spname').AsString;
if query1.RecordCount = 0 then
begin
application.MessageBox('没有可删除的记录。','删除');
Button2.Enabled:=false;
exit;
end; str:='确实要删除用户'+trimright(query1.fieldbyname('recmac').AsString)+'?';
if Application.messagebox(pchar(str),'删除',MB_YESNO)=ID_YES then
begin
while not Query1.Eof then query1.Delete;
Button2.Enabled:=false;
end;
end;
你试试吧end;
begin
query1.first; while not query1.eof do
begin
str:='确实要删除用户'+ Trim(query1.fieldbyname('recmac').AsString) + '?';
if Application.messagebox(pchar(str),'删除',MB_YESNO)=ID_YES then
query1.Delete
else
query1.Next;
end; if query1.Eof and query1.bof then
Button2.Enabled:=false;
end;
query1.SQL.add('Select * into new_Table_Name from table_Name for Delete where ....');
query1.open;
另外的表用的是query2.
var
a,b:string;
begin
query1.first; while not query1.eof do
begin
a:=query1.Fieldbyname('recmac').AsString;
b:=query1.Fieldbyname('spname').AsString;
//在此把a、b的值插入到新表中,或者做其他的处理
str:='确实要删除用户'+ Trim(a) + '?';
if Application.messagebox(pchar(str),'删除',MB_YESNO)=ID_YES then
query1.Delete
else
query1.Next;
end; if query1.Eof and query1.bof then
Button2.Enabled:=false;
end;