在SQL2000数据库中有个字段A类型为Numeric,在界面上保存此字段时A=text1.text;
为什么当text1为空时保存就出错,出错提示VARCHAR由转换为Numeric时出现错误.
谢谢了

解决方案 »

  1.   

    A=val(text1.text)
      
    *****************************************************************************
    欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码) 
    http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    为空时当然是出错了。
    数值型字段必须存入数值,不能存入空字符 ""。(如果字段允许 null,可以存入 null;但 null 不等于 "")你应该判断一下 text1.text如果是空就存入 0
      

  3.   

    A字段允许 null,可以存入 null.存入空的话这样行吗?
    if text1.text="" then
       A=null
    end if
      

  4.   

    这样的问题通常是因为这样的,在入库的时候该字段的值可能是空值。
    为此在入库之前做一下判断,判断它是否为空
    IIF(IsNull(字段),0,val(字段值))
      

  5.   

    null 是null
    “”是“”
    不一样的
    可以是text1.text<>"",但不可以text1.text<>null具体为什么,楼下解
      

  6.   

    如果这个字段是空值的话我想存成NULL怎么办?不想存成0
      

  7.   

    strsql=" insert into tablename(aa) values(" & iif(text1.text="","NULL",""& cdbl(text1.text) &"")"
    '此字段要设置成“允许空”