我在写会员卡管理系统时发生的问题(急!!!!!!!!!!!!)下面是我写的代码烦请大家帮助看看(50分)

  • 主题发起人 主题发起人 fujingkai
  • 开始时间 开始时间
F

fujingkai

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TCardSaleForm.RzBitBtn1Click(Sender: TObject);
var BH:string;
begin
adoquery1.Close;
adoquery1.SQL.Add('select * from Q_HYK where HYBH=:BH');
adoquery1.Parameters.ParamByName('BH').Value:=Trim(rzedit1.Text);
adoquery1.Prepared;
adoquery1.Open;
if adoquery1.RecordCount>0 then
BH:=adoquery1.Parameters[0].Value;
if (BH<>Trim(rzedit1.Text)) or (rzedit1.Text='') then
begin
application.MessageBox('无此会员卡号,请您登记此卡号。','错误提示',mb_ok or mb_iconerror);
rzedit1.Clear;
rzedit2.Clear;
rzedit3.Clear;
rzedit4.Clear;
Cardform:=TCardForm.Create(application);
CardForm.ShowModal;
CardSaleForm.Close;
end else
begin
adotable1.Open;
adotable1.Append;
adotable1.FieldByName('HYBH').Value:=trim(rzedit1.Text);
adotable1.FieldByName('XFJE').Value:=trim(rzedit3.Text);
adotable1.FieldByName('XFRQ').Value:=trim(datetostr(rzdatetimepicker1.Date));
rzedit4.Text:=inttostr(strtoint(rzedit3.Text) div 10);
adotable1.FieldByName('DQJF').Value:=Trim(inttostr(strtoint(rzedit3.Text) div 10));
adotable1.Post;
adotable1.Refresh;
end;
end;
当执行时总是提示缺少更新或刷新的键列信息.
 
去装一下delphi中的ADO升级补丁再试试。
 
if not adotable1.active then adotable1.active:=true;
adotable1.append;
:
:
adotable1.post;
删掉此句看看adotable1.Refresh;
 
adotable1.edit;
 
数据库表要设主键,或者用adoquery.requery试试。
 
adotable1.Refresh; 用来干什么..删掉试试
还有好象POST前要EDIT吧?不在编辑状态下你怎么修改呢
 
后退
顶部