您所在的步驟...
? | 連接數(shù)據(jù)源。 |
? | 可選擇創(chuàng)建表示 SQL 查詢命令的對象。 |
? | 可選擇在 SQL 命令中將值指定為變量參數(shù)。 |
? | 執(zhí)行命令。如果命令以行返回,將行存儲在存儲對象中。 |
? | 可選擇對數(shù)據(jù)進(jìn)行定位、檢查、操作和編輯。 |
? | 適當(dāng)情況下,可以使用存儲對象中的變更對數(shù)據(jù)源進(jìn)行更新??蛇x擇在事務(wù)處理中嵌入更新數(shù)據(jù)。 |
? | 在使用事務(wù)之后,可以接受或拒絕在事務(wù)中所做的更改。結(jié)束事務(wù)。 |
討論
返回 Recordset 的方法有三種:Connection.Execute、Command.Execute 以及 Recordset.Open。以下是它們的 Visual Basic 語法:
connection.Execute(CommandText, RecordsAffected, Options)
command.Execute(RecordsAffected, Parameters, Options)
recordset.Open Source, ActiveConnection, CursorType, LockType, Options
通過優(yōu)化這些方法可發(fā)揮特定對象的優(yōu)勢。
必須在發(fā)出命令之前打開連接,每個(gè)發(fā)出命令的方法分別代表不同的連接:
? | Connection.Execute 方法使用由 Connection 對象自身表現(xiàn)的連接。 |
? | Command.Execute 方法使用在其 ActiveConnection 屬性中設(shè)置的 Connection 對象。 |
? | Recordset.Open 方法所指定的或者是連接字符串,或者是 Connection 對象操作數(shù);否則使用在其 ActiveConnection 屬性中設(shè)置的 Connection 對象。 |
另一個(gè)不同點(diǎn)是命令在三種方法中的指定方式:
? | 在 Connection.Execute 方法中,命令是字符串。 |
? | 在 Command.Execute 方法中,命令是不可見的,它在 Command.CommandText 屬性中指定。另外,此命令可含有參數(shù)符號 ('?'),它可以由“參數(shù)”VARIANT 數(shù)組參數(shù)中的相應(yīng)參數(shù)替代。 |
? | 在 Recordset.Open 方法中,命令是 Source 參數(shù),它可以是字符串或 Command 對象。 |
每種方法可根據(jù)性能需要替換使用:
? | Execute 方法針對(但不局限)于執(zhí)行不返回?cái)?shù)據(jù)的命令。 |
? | 兩種 Execute 方法都可返回快速只讀、僅向前 Recordset 對象。 |
? | Command.Execute 方法允許使用可高效重復(fù)利用的參數(shù)化命令。 |
? | 另一方面,Open 方法允許指定 CursorType (用于訪問數(shù)據(jù)的策略及對象)和 LockType (指定其他用戶的 isolation 級別以及游標(biāo)是否在 immediate 或 batch modes 中支持更新)。 |
? | 請深入了解這些選項(xiàng),它們體現(xiàn)了很多 Recordset 的功能。 |
本教程使用動態(tài)游標(biāo)對 Recordset 的所有變更進(jìn)行批處理,為此請使用以下方法:
Recordset rs = New ADODB.Recordset
rs.Open cmd, conn, adOpenDymanic, adLockBatchOptimistic
下一步 步驟 4