strsql = "delete  from Flux_Data where  normal_flux=" & CDbl(nf) & " "
strsql = "delete  from Flux_Data where  normal_flux=" & nf & " "
normal_flux是双精度小数型。nf是一个为字符串,我上面的语句总是不对。

解决方案 »

  1.   


    double型有浮点误差的,应该有一个允许范围。如:strsql = "delete  from Flux_Data where  normal_flux between " & CDbl(nf)-0.00001 & " and " cdbl(nf)+0.0001
      

  2.   

    怎么还是不行啊,我的开发环境是EVB3.0+Access(WinCE下),会不会是这个问题呢。
      

  3.   

    看它的值CDbl(nf)
    然后再比较
      

  4.   

    将SQL语句输出来,到查询分析器中执行一下!!
    如果是因为精度的问题只是删除不了,没理由报错!!
      

  5.   

    将SQL语句输出来,到查询分析器中执行一下!!
    这样是正确啊!
      

  6.   


    看看 你的sql语句有问题没现在,相关环境下试试没问题就是你在字符串转换成双精度数时有误在vb中应该有相关的转换函数,我是刚刚转学vb的(公司需要)
      

  7.   

    select  normal_flux from Flux_Data  
    看一下与你的nf 和 Cdbl(nf)有什么不同,相信你可以找到答案.
      

  8.   

    select *  from Flux_Data where  normal_flux=" & CDbl(nf) & " "
    select *  from Flux_Data where  normal_flux=nf 在查询分析器里试试.