var i:integer;
function tidu(x:integer):real;
begin
result:=(sin(x/10)-sin((x-1)/10))/0.1;
end;
begin
for i:=1 to 100 do
begin
with adoquery1 do
begin
close;
sql.clear;
sql.add('insert into tidubiao (x,tiduzhi) values('+floatToStr(i)+',tidu('+intToStr(i)+')');
execsql;
end;
end;
end;

解决方案 »

  1.   

        sql.add('insert into tidubiao (x,tiduzhi) values('+floatToStr(i)+','+Format('%.2f',tidu(i)+')');
      

  2.   

    var i: integer;  function tidu(x: integer): real;
      begin
        result := (sin(x / 10) - sin((x - 1) / 10)) / 0.1;
      end;
    begin
      for i := 1 to 100 do
      begin
        with adoquery1 do
        begin
          close;
          sql.clear;
          sql.add('insert into tidubiao (x,tiduzhi) values(' + floatToStr(i) + ',' + FloatToStr(tidu(i)) + ')');
          execsql;
        end;
      end;
    end;
      

  3.   

    你既然是在SQL当中使用,就应该是在数据库当中去定义函数,而不是你的程序。你那里有个工具可以干活,你却把活扔给别人,那别人那里没有工具,你怎么能说已经把工具准备好了呢?
      

  4.   

    sql.add('insert into tidubiao (x,tiduzhi) values('+floatToStr(i)+',('+floatToStr(tidu(i))+')');