如果是SQLSERVER,研究一下系统表,可以得出主键的字段的.
以前做过,想不起来了.

解决方案 »

  1.   

    用这个语句可以查询到数据库中说有的PK名称,但不知道怎么可以把他们从自己所需要的表中分离出来(也就是说分离得到指定表中的PK)Dim myRecordset As ADODB.recordsetmyRecordset = myRecordset.OpenSchema(adSchemaTableContrains, Array
                                                         (Emty,Emty,Emty,Emty))
    大家给点意见好吗?很着急,周一要出活不然要被吊起来毒打.
      

  2.   

    我用的是SQL SERVER 7.0
      

  3.   

    找到了,用
    sp_MShelpindex '表名' 查询,在结果里找 (status & 0x800)=0x800的记录,这条记录的
    IndCol1,IndCol2,IndCol3 ......就是主键的字段名.
      

  4.   

    如果是sqlserver,可以告诉你一种得到表中主键字段名的sql语句,在取到字段名后,再通过比较recordset的字段名来判断是否主键。
    select index_col('YOURTABLE',indid,1) from sysindexes where id = object_id('YOURTABLE') and (status & 2048) <> 0
    注意:如果是多字段的PK,请使用存储过程,通过判断index_col('YOURTABLE',indid,i)是否为NULL来确定循环是否结束。
    YOURTABLE是你的表的名字。