注册 登录
编程论坛 Delphi论坛

[求助]要删除listview1中被选中的数据库中记录,程序要如何写

s_a_p_ 发布于 2006-04-11 14:18, 868 次点击

procedure Tqueryform.Button4Click(Sender: TObject);  //删除表中记录

var

i:integer;

begin

datamoduleADO.ADOQuery1.Open;

for i:=listview1.Items.Count -1 downto 0 do

if listview1.Items[i].Selected then

if messagedlg('È·ÈÏɾ³ý',mtInformation, [mbyes,mbno], 0)=mryes then

datamoduleADO.ADOQuery1.Delete;

//listview1.Items.Delete(i);

end;


要删除listview1中被选中的数据库中记录,上在面的程序要如何写??
谢谢指点

1 回复
#2
s_a_p_2006-04-11 14:33

还有一个问题:下面修改数据的程序 sql.Add这样用对不对,
if radiobutton5.Checked then
    //修改数据表的程序,

begin

if Length(Edit1.Text )<>10 then

begin

messagedlg('ÇëÊäÈë10λÊý×ֵıàºÅÈ磺0123456789µÄÈë¿â±àºÅ',mtError,[mbok],0);

Edit1.SetFocus ;

exit;

end;

try

with datamoduleado.ADOQuery1 do

begin

sql.Clear;

sql.Add('update book set code=:Edit1,name=:edit2,author=:edit4,press=:edit5,outdate=:edit6,
cost=:edit7,memo0=:edit8'+ 'where code='''+edit1.Text+'''');

parameters.ParamByName('code').Value :=Edit1.Text ;

parameters.ParamByName('name').Value :=Edit2.Text ;

parameters.ParamByName('author').Value := Edit4.Text ;

parameters.ParamByName('press').Value := Edit5.Text ;


try

parameters.ParamByName('outdate').Value :=strtodate(Edit6.Text) ;

except

messagedlg('²ÎÊý<ÊÜ¿ØÊ±¼ä>ÉèÖôíÎó',mtError,[mbok],0);

exit;

end;


try

parameters.ParamByName('cost').Value :=strtofloat(Edit7.Text);

except

messagedlg('²ÎÊý<¹æ³Ì¼Û¸ñ>ÉèÖôíÎó',mtError,[mbok],0);

exit;

end;

try

parameters.ParamByName('MMEMO').Value :=edit8.Text;

except

messagedlg('memo erro',mterror,[mbok],0);

exit;

end;

execSQL;

end;

except

messagedlg('ÐÞ¸Ä<'+Edit1.Text+'>ʧ°Ü',mterror,[mbok],0);

exit;

end;

end;

end;

1