Data Shaping技術--資料構形所需的提供者

來源:互聯網
上載者:User
資料 資料構形一般需要兩個提供者。服務提供者 OLE DB 的資料構形服務提供資料構形功能,而資料提供者,例如 SQL Server 的 OLE DB 提供者,則提供充填成形 Recordset 的資料行。

服務提供者的名稱可以指定為 Connection 對象 Provider 屬性的值,或連接字串關鍵字“Provider=”。

資料提供者的名稱可以指定為“Data Provider”動態屬性的值,該動態屬性由 Data Shaping Service for OLE DB 添加到 Connection 對象 Properties 集合。或者也可以指定為連接字串關鍵字“Data Provider=”。

如果沒有充填 Recordset(例如,如果成形 Recordset 的所有列均使用 NEW 關鍵字建立),則不需要資料提供者。在這種情況下指定“Data Provider=none”。

範例

Dim cnn As New ADODB.Connection
cnn.Provider = "MSDataShape"
cnn.Open "Data Provider=MSDASQL;DSN=vfox;uid=sa;pwd=vfox;database=pubs”
常規 Shape 命令


“資料構形”定義了成形 Recordset 的列、由列代表的條目之間的關係以及資料充填到 Recordset 的方式。

成形的 Recordset 可以由如下類型的列組成:

列類型 說明
資料 由對資料提供者、表或以前成形 Recordset 使用查詢命令所返回的 Recordset 的欄位。
子集 對另一個 Recordset 的引用,稱為“子集”。子集列使定義“父-子”關係成為可能,在這種關係中“父”是包含子集列的 Recordset,“子”是由子集代表的 Recordset。
合計 列的值通過對所有行執行“合計函數”獲得,或者是子 Recordset 的所有行的列。(請參閱下表中的合計函數。)
計算運算式 列的值通過對在 Recordset 的相同行中的列進行 Visual Basic for Applications 運算式的計算而獲得。運算式是 CALC 函數的參數。(請參閱下表中的計算運算式。)
建立 空的、虛構的欄位,可在隨後充填資料。列使用 NEW 關鍵字定義。(請參閱下表中的 NEW 關鍵字。)


Shape 命令可以包含子句,指定針對基本資料提供者並將返回 Recordset 對象的查詢命令。查詢的文法取決於對基本資料提供者的要求。雖然 ADO 並不要求使用任何指定的查詢語言,但通常是使用結構化查詢語言 (SQL) (SQL)。

您可以使用 SQL JOIN 子句關聯兩個表,但是,分級 Recordset 可以更有效地表達資訊。由 JOIN 建立的 Recordset 的每行會多餘地重複一個表中的資訊。分級 Recordset 的多個子 Recordset 對象中,每個對象僅有一個父 Recordset。

Shape 命令可以僅由 Recordset 對象發出。

Shape 命令可以嵌套,即父命令或子命令本身可以是另一個 Shape 命令。

有關定位分級 Recordset 的詳細資料,請參閱訪問分級 Recordset 中的行。

有關文法正確的 Shape 命令的詳細資料,請參閱形狀文法格式。

合計函數、CALC 函數和 NEW 關鍵字

資料構形支援如下函數。chapter-alias 是指定給包含了將被操作列的子集名稱。

chapter-alias(子集-別名)可以是完整的,由指向包含 column-name 的子集的每個子集列名稱組成,全部用句號分隔。例如,如果父子集 chap1 包含擁有數量列 amt 的子子集,則完整名即是 chap1.chap2.amt。

合計函數 說明
SUM(chapter-alias.column-name) 計算指定列中所有值的和。
AVG(chapter-alias.column-name) 計算指定列中所有值的平均值。
MAX(chapter-alias.column-name) 計算指定列中的最大值。
MIN(chapter-alias.column-name) 計算指定列中的最小值。
COUNT(chapter-alias[.column-name]) 計算指定別名或列中行的數量。
STDEV(chapter-alias.column-name) 計算指定列中的標準差。
ANY(chapter-alias.column-name) 列的值(列的值在所有行均相同)。

計算運算式 說明
CALC(expression) 計算任意運算式,但僅針對包含 CALC 函數的 Recordset 行。可以是任何 Visual Basic for Applications (VBA) 函數或運算式。

NEW 關鍵字 說明
NEW (field type [(width | scale ][,precision])] 將指定類型的空列添加到 Recordset。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。