请问一下,在Delphi中使用了uses math ;为什么还不能运算比如LOG(10),运
行时还会出错,如果要实现如x/exp(xs*log(10))的运算,怎么办?
还有就是当插入数据进数据库时,是不是不能马上对这个数据进行修改呢?如果马上进行修改的时候它是不是就会报错,说无法定位行呢?假如刚加入数据,发现插入数据有点问题,想进行修改,而要让它又不报错,怎么办????

解决方案 »

  1.   

    查了一下,delphi有Log10,Log2的函数在Math单元里,刚插入的数据可以修改,无法定位行,是不你的表没主键或没指定主键是什么-----------------------------------
    http://scsoft.agrie.com
      

  2.   

    使用了uses math;还要这样吧?比如:unit user 中有var username:string;在unit main中uses user;var name:string;调用时:name:=user.username;var 
      i:integer;
    begin
      i:=math.log(10);
    end;
      

  3.   

    没问题的,在uses 中加入math即可。
    showmessage(floattostr(log10(100)));
    可以得到2。
    函数原型:function log10(const x:extended):extended;
    传入参数:待计算扩展实型数
    返回值:扩展实型数
    功能:计算以10为底的对数值。
      

  4.   

    另外还有log2函数和logN函数,log2以2为底。
    logN原型为
    function logN(const base,x:extended):extended;
    功能:计算以base为底的x的对数。你写的log(10)是不对的,因为没有log()函数。
      

  5.   

    另外,对刚插入的数据进行修改是没有问题的。
    完全可以实现。
    你的问题可能是SQL语句错误或者是表的设置有问题。
      

  6.   

    还有请问就是 我现在做的是一个TdxDBTreeList 显示目录,然后点击目录
    : 在窗体右边上半部分TdxDBGrid1中显示相应的记录,如果点击TdxDBGrid1表中
    : 的记录就会在窗体右下半部分TdxDBGrid2表中显示相应的记录,但是在目录中点击时
    有一些在TdxDBGrid1表中没有相应的值对应,TdxDBGrid1表
    : 中的记录与TdxDBGrid2表中的记录是一对多的关系,我想对三个表中选中的记录成高亮度显示,在显示的过程中,不小心点中了目录中与TdxDBGrid1表中没有对应值的目录,结果报错,说TdxDBGrid2没有与TdxDBGrid1表中记录对应的字段
    请问为什么?
    : --


    :