Recordset open的一些引數

2021-08-22 03:48:19 字數 3252 閱讀 1289

open 方法 (ado recordset)開啟游標。

語法recordset.open source, activeconnection, cursortype, locktype, options

引數source 可選,變體型,計算 command 物件的變數名、sql 語句、表名、儲存過程呼叫或持久 recordset 檔名。

activeconnection 可選。變體型,計算有效 connection 物件變數名;或字串,包含 connectionstring 引數。

cursortype 可選,cursortypeenum 值,確定提供者開啟 recordset 時應該使用的游標型別。可為下列常量之一(參閱 cursortype 屬性可獲得這些設定的定義)。

常量 說明 adopenforwardonly (預設值)開啟僅向前型別游標。 adopenkeyset 開啟鍵集型別游標。 adopendynamic 開啟動態型別游標。 adopenstatic 開啟靜態型別游標。

locktype 可選。確定提供者開啟 recordset 時應該使用的鎖定(併發)型別的 locktypeenum 值,可為下列常量之一(參見 locktype 屬性可獲得詳細資訊)。

常量 說明 adlockreadonly (預設值)唯讀 — 不能改變資料。 adlockpessimistic 保守式鎖定(逐個) — 提供者完成確保成功編輯記錄所需的工作,通常通過在編輯時立即鎖定資料來源的記錄。 adlockoptimistic 開放式鎖定(逐個) — 提供者使用開放式鎖定,只在呼叫update 方法時才鎖定記錄。 adlockbatchoptimistic 開放式批更新—用於批更新模式(與立即更新模式相對)。

options 可選,長整型值,用於指示提供者如何計算 source 引數(如果它代表的不是 command 物件),或從以前儲存 recordset 的檔案中恢復 recordset。可為下列常量之一(參見 commandtype 屬性可獲得該列表中前五個常量的詳細說明)。

常量 說明 adcmdtext 指示提供者應該將 source 作為命令的文字定義來計算。 adcmdtable 指示 ado 生成 sql 查詢以便從在 source 中命名的表中返回所有行。 adcmdtabledirect 指示提供者更改從在 source 中命名的表中返回所有行。 adcmdstoredproc 指示提供者應該將 source 視為儲存過程。 adcmdunknown 指示 source 引數中的命令型別為未知。 adcmdfile 指示應從在 source 中命名的檔案中恢復保留(儲存的)recordset。 adasyncexecute 指示應非同步執行 source。 adasyncfetch 指示在提取 initial fetch size 屬性中指定的初始數量後,應該非同步提取所有剩餘的行。如果所需的行尚未提取,主要的執行緒將被堵塞直到行重新可用。 adasyncfetchnonblocking 指示主要執行緒在提取期間從未堵塞。如果所請求的行尚未提取,當前行自動移到檔案末尾。

說明使用 recordset 物件的 open 方法可開啟代表基本表、查詢結果或者以前儲存的 recordset 中記錄的游標。

使用可選的 source 引數指定使用下列內容之一的資料來源:command 物件變數、sql 語句、儲存過程、表名或完整的檔案路徑名。

如果 source 是檔案路徑名,它可以是完整路徑(「c:/dir/file.rst」)、相對路徑(「../file.rst」)或 url(「http://files/file.rst」)。

activeconnection 引數對應於 activeconnection 屬性,並指定在哪個連線中開啟 recordset 物件。如果傳送該引數的連線定義,則 ado 使用指定的引數開啟新連線。可以在開啟 recordset 之後更改該屬性的值以便將更新傳送到其他提供者。或者可以將該屬性設定為 nothing(在 microsoft visual basic 中)以便將 recordset 與所有提供者斷開。

對於直接對應於 recordset 物件屬性的引數(source、cursortype 和 locktype),引數和屬性的關係如下:

在 recordset 物件開啟之前屬性是讀/寫。

除非在執行 open 方法時傳送相應的引數,否則將使用屬性設定。如果傳送引數,則它將覆蓋相應的屬性設定,並且用引數值更新屬性設定。

在開啟 recordset 物件後,這些屬性將變為唯讀。 注意 對於其 source 屬性被設定為有效 command 物件的 recordset 物件,即使 recordset 物件沒有開啟,activeconnection 屬性也是唯讀的。

如果在 source 引數中傳送 command 物件並且同時傳遞 activeconnection 引數,那麼將產生錯誤。command 物件的 activeconnection 屬性必須已經設定為有效的 connection 物件或者連線字串。

如果在 source 引數中傳送的不是 command 物件,那麼可以使用 options 引數優化對 source 引數的計算。如果沒有定義 options 則效能將會降低,原因是 ado 必須呼叫提供者以確定引數是否為 sql 語句、儲存過程或表名。如果已確定所用的 source 型別,則可以設定 options 引數以指示 ado 直接跳到相關的**。如果 options 引數不匹配 source 型別,將產生錯誤。

如果不存在與 recordset 關聯的連線,options 引數的預設值將為 adcmdfile。這是持久 recordset 物件的典型情況。

如果資料來源沒有返回記錄,那麼提供者將 bof 和 eof 屬性同時設定為 true,並且不定義當前記錄位置。如果游標型別允許,仍然可以將新資料新增到該空 recordset 物件。

在開啟的 recordset 物件上完成操作時,可使用 close 方法釋放任何相關的系統資源。關閉物件並非將它從記憶體中刪除,可以更改它的屬性設定並且在以後使用 open 方法再次將其開啟。要將物件從記憶體中完全刪除,可將物件變數設定為 nothing。

在設定 activeconnection 屬性之前呼叫不帶運算元的 open,可通過將字段追加到 recordset fields 集合建立 recordset 的例項。

如果已經將 cursorlocation 屬性設定為 aduseclient,就可以採用兩種途徑之一非同步檢索行。建議使用的方法是將 options 設定為 adasyncfetch。或者,可以使用在 properties 集合中的「異步行集合處理」動態屬性,但如果未將 options 引數設定為 adasyncfetch,則可能丟失相關的被檢索事件。

注意 在 msremote 提供者中的背景提取僅能通過 open 方法的 options 引數得到支援。

Denoise auto encoder的乙個理解

這幾天反覆的看denoise auto encoder的解釋,尤其是geometric interpretation。作者寫道,本來的資料假定是在乙個低緯度的流行結構上,加了噪音之後,這些噪音點就距離這個流行結構要有點遠,或者不在這個流行結構上了,那麼學習的過程就會去學習在這個本來的流行結構。個人認...

erlang lists keyfind的乙個小坑

key 2 2,findreuslt lists keyfind key,1,case findreuslt of find false not find end.這段 會報沒有匹配的錯誤 原因是 key 2 2 其實 key被賦值為1.0 摔,這個基礎概念都能忘記 lists keyfind 文件...

WM DRAWITEM,DrawItem的一些總結

1 當在mfc中要對某個控制項自繪時,就需要重寫drawitem或者ondrawitem函式,要實現重繪 首先要允許重繪 1 可以在控制項屬性中設定 網上很多,自己搜吧 2 在控制項類中實現,比如我實現了class cmybutton public cbutton自己的按鈕類,然後在cmybutto...