Foxpro字段分字符、日期、数字等的几种类型。类型不匹配是无法比较的,需要转换。
字符-》日期: dtoc()
字符-》数字: val()
日期-》字符: ctod()
数字-》字符: str()

解决方案 »

  1.   

    你好!问题举个例子:
    有两个数据库,A 、B
    他们分别个有一个字段是数字型an、bn
    我定义了一个变量m
    先读出A 库字段an ,域值给变量m
    然后打开B ,用m  和B 中的字段bn 做
    比较,都是数字型。出错。
      

  2.   

        如果B中的字段bn为空值,那么肯定出错,因为DBF数据库中,即使是数字型字段他在数据库中也是以字符型格式存在,这个不象PARADOX、ACCESS、SQL-SERVER等数据库,所以为保证安全起见,需要进行转换。一般采用VAL()函数!
      

  3.   

    如果仅仅只是判断是否为空呢,则用 emtpy()函数 该函数不管类型.如果不是的呢,你必须用type函数先判断类型了后再分类型进行比较了.
      

  4.   

    如果你Create数据库时,将字段设置为允许NULL值时,可能会出现上述情况。你只要先用isnull()判断是否是NULL值,再执行你的判断就可以了。
    如:WHERE (NOT ISNULL('字段') and 条件1)