|
|
#2
s_a_p_2006-04-11 14:33
还有一个问题:下面修改数据的程序 sql.Add这样用对不对, 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, parameters.ParamByName('code').Value :=Edit1.Text ; parameters.ParamByName('name').Value :=Edit2.Text ; parameters.ParamByName('author').Value := Edit4.Text ; parameters.ParamByName('press').Value := Edit5.Text ; parameters.ParamByName('outdate').Value :=strtodate(Edit6.Text) ; except messagedlg('²ÎÊý<ÊÜ¿ØÊ±¼ä>ÉèÖôíÎó',mtError,[mbok],0); exit; end; 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; |
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中被选中的数据库中记录,上在面的程序要如何写??
谢谢指点