SelectCommand语句用的是select *
但是有个字段IsValid在数据库中设置了默认值default(1),这样在新增时,使用DataAdapter保存时该字段的值就为null了,其实不使用select *,在查询列表中排除这个字段就可以了,或者不使用DataAdapter手工构造sql也可以。
在这两点都不能改变的情况下,有什么办法可以使数据库的默认值约束不失效呢?

解决方案 »

  1.   

    比较纠结的是不想手工赋值
    这算不算是DataAdapter的一点bug呢?新增时没有考虑数据库默认值约束的问题,因为是新增的而且为DBNull,那么在添加到数据库时就应该使用到默认值约束,因为不是将该字段更新为DBNull,那么数据库中的值就不应该是null
      

  2.   

    不使用select *,在查询列表中排除这个字段就可以了,或者不使用DataAdapter手工构造sql也可以。
    在这两点都不能改变的情况下
      确实没有别的办法了