找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3770|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

ADODB 中 RecordSet 的打開方式區(qū)別

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:90014 發(fā)表于 2015-9-13 16:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
前兩天在調(diào)試數(shù)據(jù)庫抓取數(shù)據(jù)的程序時,使用了 ADODB 的Connection 對象和 Recordset 對象。希望將通過 SELECT 語句查詢的結(jié)果全部存儲在一個 Recordset中,然后再對這個 Recordset 中的數(shù)據(jù)進行處理。但是在實際操作的過程中,希望通過 Move 命令將當(dāng)前數(shù)據(jù)指針移動到記錄的最前端時,系統(tǒng)提示出錯,無法將指針反向移動。后來在網(wǎng)上查詢原因,原來是創(chuàng)建這個 Recordset 時,所使用的命令參數(shù)不同,創(chuàng)建了一個單項的記錄集。 舉例如下: rs 為記錄集對象,如果要創(chuàng)建雙向移動記錄集,則必須使用如下的語句:
        rs.Open strSQL, cn, 1, 1 '執(zhí)行strSQL所含的SQL命令,結(jié)果保存在rs記錄集對象中
這樣,使用 rs.move  nnn 的指令時,nnn是正值,則向前移動,否則反向移動指針。

另外,在 ADO2.8中,可以支持比較復(fù)雜的 SQL 查詢語句如下:

strCn = "Provider=sqloledb;Server=localdb;Database=Meters;Uid=sa;;"    '定義數(shù)據(jù)庫鏈接字符串
strSQL = "select rtrim(TestID) as NewTestID, NumberA, Ib, PF, Iabc, Sampling, Error1,Error2,Error3 FROM Deviation "
strSQL = strSQL & "WHERE (TestID > '" & sStC & "') and (TestID < '" & sEdC & "') and (sampling =3) and RIGHT(rtrim(TestID),1)=" & CStr(nSite)      '定義SQL查詢命令字符串

strSQL = strSQL & " ORDER BY TestID, NumberA"

在這個語句中,用到了 SQL 的函數(shù) RTRIM 以及 RIGHT, 用到了別名 NewTestID, 有查詢條件和最后結(jié)果的排序輸出等,證明了可以通過 ADO 來實現(xiàn)對 SQL 數(shù)據(jù)庫的完全控制。



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表