如题:对于一个表,如何判断它的某个列在创建的时候是否允许为空?并且如何修改这个值?用alter table就可以吗?

解决方案 »

  1.   

    这个看数据库类型了。用adox访问列的属性集合。
    参考微软知识库文章
    Q183606 ActiveX Data Objects (ADO) Frequently Asked Questions 
    Q169496 INFO: Using ActiveX Data Objects (ADO) via #import in VC++ 
    Q317881 HOW TO: Create an Access Database Using ADOX and Visual C# .NET 
    Q252908 HOWTO: Create a Table with Primary Key Through ADOX 
    Q201826 PRB: Error 3265 When You Access Properties Collection
      

  2.   

    能不能给个具体点的解答?
    我是用ADO连接Access或SQL server(VC下),这个该怎么办?
      

  3.   

    用Recordset打开那个表
    检查他的字段的属性adFldIsNullable
      

  4.   

    可以执行sql语句
    USE db_test
    EXEC sp_help tb_test其中db_test是你的数据库名
    tb_test是你的表名查询的结果集中有个字段"Nullable"
    判断该值为"yes"还是"no"
      

  5.   

    也可以:USE db_test
    exec sp_columns @table_name = 'tb_test'查询结果集中包含表中的各个列的详细属性,同样的,字段"NULLABLE"标示该列是否允许为空
      

  6.   

    还有更简单的USE db_test
    SELECT COLUMNPROPERTY( OBJECT_ID('tb_test'),'id','AllowsNull') 其中db_test是你的数据库名
    tb_test是你的表名
    id是你要判断的列的名称查询的结果含义:
    1 = TRUE (允许空)
    0 = FALSE (不允许空)
    NULL = 无效的输入