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;