你保存数据时候不是把他设置为-1了吗?它当然在datagrid时显示了-1了
你自己都说不过自己啊??

解决方案 »

  1.   

    在数据库中允许该字段为空,不设默认值,insert时不用管他不就可以了吗!
      

  2.   

    楼主一早说清楚你的意图不就行了
    用ISNULL可以这样
    select ISNULL(整型字段,0),ISNULL(字符型字段,'') from 表
      

  3.   

    如果整型字段,后台数据为NULL的话,前台应该不是显示0,而是空吧
      

  4.   

    可能大家还是没有明白我的意思,我的意思很简单呀
        我的数据在表单中有两种显示,一种是datagrid,一种是具体的数据浏览,而数据库中整型字段的默认值是0,情况一:我在表单中不填任何数据,插入数据库以后就默认为0,但从数据库读取数据用于浏览的时候,0是有意义的数据,所以我就用了-1替代为空
    if shuju=-1 then txt.text="" else txt.text=shuju end if
    但是这时又有问题了,绑定datagrid的时候就为-1了,显然界面很不友好,这时也应该让它为空才对,有什么查询语句select ***可以呢?
    谢谢~~~~
      

  5.   

    其实关键问题是整型字段的默认值为0,如果它像varchar那样默认为空的话就没有这些问题了,但根据数据库的设计,我是不可以把整型修改为varchar的
      

  6.   

    我现在已经查明原因了,问题出在与类里面的数据成员是整型,他的默认值是零,而不是数据库的默认值,所以现在我只能用-1表示为空了,请大家帮我写个select如果为-1就置空
    谢谢~~~
      

  7.   

    select case 字段
    when -1 then null
    else 字段
    end
    from 表名