Dim cnn_ZhuSG As ADODB.Connection
Dim rs1_ZhuSG As ADODB.Recordset
Dim rs2_ZhuSG As ADODB.Recordset
Dim strDSN_ZhuSG As String
Dim str1_ZhuSG As String
Dim str2_ZhuSG As StringPrivate Sub Form_Load()
Set cnn_ZhuSG = New ADODB.Connection
strDSN_1DuanTS = "Provider=SQLOLEDB;Data Source=lxz;Initial  
                 Catalog=oiltalimu; User ID=SUPERMAN;Password='';"
cnn_1DuanTS.Open strDSN_1DuanTSSet rs1_ZhuSG = New ADODB.Recordset
Set rs2_ZhuSG = New ADODB.Recordset
str1_ZhuSG = "select top 12 * from 注水岗综报 order by DATATIME DESC"
str2_ZhuSG = "select * from 组态现场数据 "
rs1_ZhuSG.Open str1_ZhuSG, cnn_ZhuSG, adOpenKeyset, adLockOptimistic, adCmdText
rs2_ZhuSG.Open str2_ZhuSG, cnn_ZhuSG, adOpenKeyset, adLockOptimistic, adCmdText
Debug.Print rs2_ZhuSG.RecordCount??????????
晴问为什么输出总是-1啊?
我数据库里面有数据而且也能吧里面的数据输出
就是记录总数输出总是为-1
谢谢

解决方案 »

  1.   

    rs1_ZhuSG.Open str1_ZhuSG, cnn_ZhuSG, adopenstatic,adlockreadonly,adcmdtext
    动态数据集的recordset 的recordcount永远是-1
      

  2.   

    rs1_ZhuSG.CursorLocation = adUseClient
    rs2_ZhuSG.CursorLocation = adUseClient
      

  3.   

    with rs2_ZhuSG
    .CursorLocation = adUseClient
    .CursorType = adOpenKeyset
    .LockType = adLockOptimistic
    end withRecordCount如果是-1的话,说明该值无效
      

  4.   

    rs1_ZhuSG.Open str1_ZhuSG, cnn_ZhuSG
      

  5.   

    请将记录集类型改成:adOpendynamic即动态集; 
    详细清参考:http://uh1.bj.163.com/cgi/docelite?i=126946
      

  6.   

    晕rs2_ZhuSG.Open str1_ZhuSG, cnn_ZhuSG