SP_HELPINDEX 表名,主键就默认索引了吧

解决方案 »

  1.   

    以前做过的,你看看可以得到主见public DataTable GetTableColumns(string strConnString, string strTableName)
    {
        DataAccess datAccess = new DataAccess(strConnString);    string strSQL 
            = "select a.name, b.name as type, isnull(c.indid, 0) pkey, columnproperty(a.id, a.name, 'IsIdentity') autoIncrease"
            + " from syscolumns a"
            + " left outer join systypes b on a.xtype=b.xtype and lower(b.name)<>'sysname'"
            + " left outer join sysindexes c on a.id=c.id and (c.status & 0x800)=0x800"
            + " and "
            + " ("
            + "  A.name = index_col('{0}', c.indid, 1)"
            + "  or A.name = index_col('{0}', c.indid, 2)"
            + "  or A.name = index_col('{0}', c.indid, 3)"
            + "  or A.name = index_col('{0}', c.indid, 4)"
            + "  or A.name = index_col('{0}', c.indid, 5)"
            + "  or A.name = index_col('{0}', c.indid, 6)"
            + "  or A.name = index_col('{0}', c.indid, 7)"
            + "  or A.name = index_col('{0}', c.indid, 8)"
            + "  or A.name = index_col('{0}', c.indid, 9)"
            + "  or A.name = index_col('{0}', c.indid, 10)"
            + "  or A.name = index_col('{0}', c.indid, 11)"
            + "  or A.name = index_col('{0}', c.indid, 12)"
            + "  or A.name = index_col('{0}', c.indid, 13)"
            + "  or A.name = index_col('{0}', c.indid, 14)"
            + "  or A.name = index_col('{0}', c.indid, 15)"
            + "  or A.name = index_col('{0}', c.indid, 16)"
            + " )"
            + " where a.id=object_id('{0}')";    strSQL = string.Format(strSQL, strTableName);    return datAccess.GetDataTable(strSQL);
    }