如何获取sql server数据库表中列的约束?

解决方案 »

  1.   

    你要获得什么约束??ADO获得字段是否允许为空的话,可以:
    if ((m_pRs->GetFields()->GetItem(_variant_t("字段名"))->Attributes & adFldIsNullable)==0)
    AfxMessageBox("字段不允许为空~");
      

  2.   

    你可以参考下面的文章,只不过是用C#的。
    How To Retrieve Schema Information by Using GetOleDbSchemaTable and Visual C# .NET
    http://support.microsoft.com/kb/309681/en-us
      

  3.   

    参考:
    http://topic.csdn.net/t/20031202/13/2518256.html
      

  4.   

    谢谢 。tabby
    有没有办法获取列 默认值
      

  5.   

    还是用上面介绍的方法,用OpenSchema打开数据库后,获得记录集中COLUMN_DEFAULT字段的值试试..
      

  6.   

    找资料看看sysobjects,syscolumns,syscomments这几个表的结构,差不多所需要的都在里面(sql2005及之后的版本当中这些名字只是为兼容而创建的view,名称已经更改)