ADODB.Recordset rst记录集中有8各字段,如何将这个记录集中的第1、5两个字段留下,其它的字段都去掉

解决方案 »

  1.   

    写SQL语句时只写需要的字段:
    select 字段1,字段5 from 表名
      

  2.   

    不知道你的目的,
    选rs(0) 和rs(4),就行了,为什么要子集?
      

  3.   

    你的意思是不是这样的:有一个已经打开的ADODB.Recordset对象A,该对象有8个字段;你想直接从对象A里另外生成一个新的Recordset对象B,B只包含A的两个字段。
      

  4.   

    以下在ADO2.7、WinXp(SP2)、VB6(SP6)、SQL2000下测试通过
    至于删除哪几个字段,你自己调整一下
    注意:字段索引是从0开始的    Dim conn As New ADODB.Connection
        Dim rs As ADODB.Recordset
        
        conn.ConnectionString = "Uid=user;pwd=password;Driver={sql server};Server=.;Database=dbname;"
        conn.CursorLocation = adUseClient
        conn.Open
        
        Set rs = conn.Execute("select * from tablename")
        rs.Close   '此处要先前闭记录集
        rs.Fields.Delete 11    '删除索引为11的字段
        rs.Fields.Delete 10    '删除索引为10的字段
        rs.Open    '重新打开记录集
      

  5.   


    是这个意思。这个问题可以归结为:
    如何从一个记录集rst中取得一个子集。子集只取rst中的个别字段,但记录数不变。
      

  6.   

    也就是说,取已有记录集rst的某几列构成一个新的记录集rst1