注册 登录
编程论坛 Delphi论坛

截断字符串错误,如图,紧急求助!

unseenkiller 发布于 2007-05-22 16:04, 829 次点击

只有本站会员才能查看附件,请 登录

如图所示:什么原因呢?????????

var
zhengchang,gaodu,ribian,zgaizheng,ggaizheng :real;

begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select 水平梯度 from CTABLE where 编号=');
adoquery1.SQL.add(':ss');
adoquery1.Parameters.ParamByName('ss').Value:=trim(edit1.text);
adoquery1.Open;
zhengchang:=adoquery1.FieldByName('水平梯度').AsFloat;

adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select 垂直梯度 from CTABLE where 编号=');
adoquery1.SQL.add(':ss');
adoquery1.Parameters.ParamByName('ss').Value:=trim(edit1.text);
adoquery1.Open;
gaodu:=adoquery1.FieldByName('垂直梯度').AsFloat;


adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select 日变改正 from CTABLE where 编号=');
adoquery1.SQL.add(':ss');
adoquery1.Parameters.ParamByName('ss').Value:=trim(edit1.text);
adoquery1.Open;
ribian:=adoquery1.FieldByName('日变改正').AsFloat;

ggaizheng:=strtofloat(edit5.text)*gaodu;

adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('insert into CTABLE1 values(:a,:b,:c,:d,:e,:f,:g,:h,:i,:j,:k,:l)');
adoquery1.Parameters.ParamByName('a').Value:=trim(edit1.text);
adoquery1.Parameters.ParamByName('b').Value:=trim(edit2.text);
adoquery1.Parameters.ParamByName('c').Value:=trim(edit3.text);
adoquery1.Parameters.ParamByName('d').Value:=strtofloat(edit4.text);
adoquery1.Parameters.ParamByName('e').Value:=strtofloat(edit5.text);
adoquery1.Parameters.ParamByName('f').Value:=trim('combobox1.Text'+'combobox2.text'+'combobox3.text');
adoquery1.Parameters.ParamByName('g').Value:=strtofloat(edit6.text);
adoquery1.Parameters.ParamByName('h').Value:=strtofloat(edit7.text);
adoquery1.Parameters.ParamByName('i').Value:=strtofloat(edit3.text)*zhengchang;
adoquery1.Parameters.ParamByName('j').Value:=ribian;
adoquery1.Parameters.ParamByName('k').Value:=ggaizheng;
adoquery1.Parameters.ParamByName('l').Value:=strtofloat(edit7.text)+zgaizheng+ggaizheng+ribian;
adoquery1.ExecSQL;

end;

4 回复
#2
unseenkiller2007-05-22 16:05

不胜感激!!!!!!!!!!!!

#3
phonbob2007-05-23 09:51
ggaizheng:=strtofloat(edit5.text)*gaodu;
出错行是这里吗?
#4
unseenkiller2007-05-23 22:07
以下是引用phonbob在2007-5-23 9:51:14的发言:
ggaizheng:=strtofloat(edit5.text)*gaodu;
出错行是这里吗?

谢谢,问题已经解决了,不过不是那里.

trim('combobox1.text'+'trim(combobox2.text)'+trim(combobox3.text)')的错误原因.

#5
volte2007-05-24 09:15

两中解决方案,
要么数据库表中插入的字符字段过短,加长
要么注意插入的字符字段不要超过数据库中匹配的字段长度。

1