create table aaa (id char(5),num number(5,2))var
t:string;
i:integer;
  begin
     i:=strtoint(edit2.text);
     t:='insert into aaa values ('+edit1.text+'''+','+'''+i+')';
      .....
  end为什么这样的i不给通过?

解决方案 »

  1.   

    t:='insert into aaa values ('+edit1.text+'''+','+'''+i+')'; 改为t:='insert into aaa values ('''+edit1.text+'''+','+IntToStr(i)+')'; 
      

  2.   

    楼上也错了t:='insert into aaa values ('''+edit1.text+''' , '''+IntToStr(i)+''' )'
      

  3.   

    我1楼写的是有点问题,但2楼的似乎也不准确,应该这样t:='insert into aaa values ('''+edit1.text+''' , '+IntToStr(i)+' )'; 第二个字段为number,二楼的那种写法似乎在java里可以通过,在Delphi似乎不成。
      

  4.   

    Delphi + oracle 是可有用的
      

  5.   

    那实际上可以这样写了.
    t:='insert into aaa values ('''+edit1.text+''' , '''+edit2.text+''' )'; 
    对不对
      

  6.   

    怎么报 '' is not valid integer value. 错误.
      

  7.   

    var
    t:string;
    i:integer;
      begin;
        if trim(edit2.text)='' then 
        begin
          showmessage('edit2不能为空');
          exit;
        end;
        t:='insert into aaa values ('''+edit1.text+''','+edit2.text+')';
          .....
      end 
      

  8.   

    up
    当是我在edit2.text里输入的是12.5报 '12.5' is not valid integer value.
      

  9.   

    有可能建入了空格,用这个试试.
    t:='insert into aaa values ('+'trim('+''''+edit1.text+''''+'),'+'trim('+''''+edit2.text+'))';