首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi增加数据记录有关问题

2012-08-10 
delphi增加数据记录问题procedure TForm1.btn2Click(Sender: TObject)beginif (edt1.Text)and(edt2.T

delphi增加数据记录问题
procedure TForm1.btn2Click(Sender: TObject);
begin
  if (edt1.Text<>'')and(edt2.Text<>'')and(edt3.Text<>'')and(edt4.Text<>'') then begin
  try
  qry1.Close;
  qry1.SQL.Clear;
  qry1.SQL.Add('insert into TicketClass(ClassNo,Name,Price,ShowPrice) values(:a,:b,:c,:d)');
  qry1.Parameters.ParamByName('a').Value:=Trim(edt1.Text);
  qry1.Parameters.ParamByName('b').Value:=Trim(edt2.Text);
  qry1.Parameters.ParamByName('c').Value:=StrToCurr(Trim(edt3.Text)); //字符串转化成货币型
  qry1.Parameters.ParamByName('d').Value:=StrToCurr(Trim(edt4.Text)); //字符串转化成货币型
  qry1.ExecSQL;
  showmessage('信息添加成功!');
  except
  application.MessageBox('找不到数据库,可能数据库被人为破坏.','无法连接数据库',0);
  application.Terminate;
  end;
  end
  else
  showmessage('信息添加失败! 请确认信息是否填写完整.');
//end;
end;


以上是我的代码,数据库中PRICE 和showpiece字段是货币形式
我点击按钮式现实edt不是一个有效的浮点值

[解决办法]
不用转换,直接这样
qry1.Parameters.ParamByName('c').Value:=Trim(edt3.Text); 

当然,若是输入字符的话,报错是肯定的, 也可以给一个具体的值测试,看是否添加成功
qry1.Parameters.ParamByName('c').Value:=100;

热点排行