| ADO Command 物件詳述 |
|---|
<% Set MagicCMD = Server.CreateObject(“ADODB.Command”) %>
集合
Parameters
Parameters 集合是 Parameter 物件的集合。Parameter 物件用於執行帶參數的 SQL 查詢或向一 SQL 存儲過程傳遞或接收參數。
Properties
Properties 集合是 Property 物件的集合。不同的資料提供者比如 MS SQL Server 和 MS Access 在 Command 物件的 Properties 集合裡具有不同的屬性。這些屬性影響 Command 物件的執行方式。
屬性
CreateParameter([Name] , [type] , [Direction] , [Size] , [Value] )
建立 Command 物件要使用的新參數。Name 是新參數的名稱。Type 是該參數的資料類型。你可以使用下表所示的任何資料類型:
| 常數 | 值 | 描述 |
| adBigInt | 20 | 8 byte 有符號整數 |
| adBinary | 128 | 二進製值 |
| adBoolean | 11 | 布爾值 |
| adBSTR | 8 | Null-中斷字串(Unicode) |
| adChar | 129 | 字串值 |
| adCurrency | 6 | 金幣值 |
| adDate | 7 | 日期值 |
| adDBDate | 133 | 日期值(yyyymmdd) |
| adDBTime | 134 | 時間值(hhmmss) |
| adDBTimeStamp | 135 | 日期時間值(yyyymmddhhmmss) |
| adDecimal | 14 | 具有固定的精度和範圍的擴展數字型。 |
| adDouble | 5 | 雙精度浮點數值 |
| adEmpty | 0 | 空值 |
| adError | 10 | 32 位錯誤碼 |
| adGUID | 72 | 全球唯一的標志碼 |
| adIDispatch | 9 | 指向一個 OLE 物件 Idispatch 的指針 |
| adInteger | 3 | 4 byte 有符號整數 |
| adIUnknown | 13 | 指向一個 OLE 物件 Iunkown 的指針 |
| adLongVarBinary | 205 | 長二進製值 |
| adLongVarChar | 201 | 長字串值 |
| adLongVarWChar | 203 | 長 NULL -中斷字串值 |
| adNumeric | 131 | 具有固定的精度和範圍的擴展數字型。 |
| adSingle | 4 | 單精度浮點值 |
| adSmallInt | 2 | 2 byte 有符號整數 |
| adTinyInt | 16 | 1 byte 有符號整數 |
| adUnsignedBigInt | 21 | 8 byte 無符號整數 |
| adUnsignedInt | 19 | 4 byte 無符號整數 |
| adUnsignedSmallInt | 18 | 2 byte 無符號整數 |
| adUnsignedTinyInt | 17 | 1 byte 無符號整數 |
| adUserDefined | 132 | 未定義變量 |
| adVarBinary | 204 | 二進製值 |
| adVarchar | 200 | 字串值 |
| adVariant | 12 | OLE 自動變量 |
| adVarWchar | 202 | NULL-中斷 Unicode 字串 |
| adWchar | 130 | NULL-中斷 Unicode 字串 |
Direction 確定參數是輸入參數,輸出參數或存儲過程的傳回值,下表描述了所有你可以使用的 Direction 值:
| 常數 | 值 | 描述 |
| adParamInput | 1 | 輸入參數(內定值) |
| adParamOutput | 2 | 輸出參數 |
| adParamInputOutput | 3 | 輸入/輸出參數 |
| adParamReturnValue | 4 | 傳回值 |
Size 是參數的最大長度,以byte 或字符為單位。Value 是參數的值。
Execute [RecordAffected] , [Parameters] , [Options] 或
Execute ([RecordAffected] , [Parameters] , [Options])
執行包含在 CommandText 屬性中的 SQL 查詢,SQL 語句或 SQL 存儲過程。當要傳回資料集時,使用帶括號的第二中 Execute 方法。
在該命令執行後,RecordAffected 變量內包含該命令所影響的記錄的數目。Parameters 是參數數組,可以覆蓋以前增加到 Command 物件中的變量。使用 Options, 你可以使該命令執行的更有效,因為你利用發送給資料提供者 (比如,SQL Server)有關要執行命令的類型。Options 的值如下:
| 常數 | 描述 |
| adCmdText | 把 CommandText 作為一個命令的文本定義執行,比如 SQL 語句。 |
| adCmdTable | 把 CommandText 作為表的名稱執行。 |
| adCmdStoreProc | 把 CommandText 作為存儲過程執行。 |
| adCmdUnknown | 未知的命令(內定值)。 |
Open [ConnectionString],[UserID],[Password]
打開一個到資料源的連接。ConnectionString 是資料源的名稱(DSN)或者是包含以分號隔開的參數和值對的連接字串。 比如下面就是適用於 SQL Server 的例子:
dsn=MyDatabase;uid=MyLoginName;pwd=MyPassword
你可以使用在下表內的參數和值對:
| 參數 | 值 |
| Provider | 資料提供者的名稱 |
| Data Source | 資料源的名稱(比如,一個SQL Server 的 ODBC 資料源) |
| User | 在打開資料連接時所用的會員名 |
| Password | 在打開資料連接時所用的密碼 |
| File Name | 已經預設好連接訊息的與提供者相關的文件名 |
UserId 是在打開資料連接時所要用的會員名。Password 是在打開資料連接時所要用的密碼。
OpenSchema(queryType,[Criteria])
用於傳回有關資料庫整體結構的訊息(比如,它包含的 Table 和 Column)。這些概要訊息存入了 Recordset 物件中。
| 類型 | 值 | 範圍 |
| adSchemaAsserts | 0 | CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME |
| adSchemaCatalogs | 1 | CATALOG_NAME |
| adSchemaCharacterSets | 2 | CHARACTER_SET_CATALOG, CHARACTER_SET_SCHEMA, CHARACTER_SET_NAME |
| adSchemaCheckConstraints | 5 | CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME |
| adSchemaCollation | 3 | COLLATION_CATALOG, COLLATION_SCHEMA, COLLATION_NAME |
| adSchemaColumnDomainUsage | 11 | DOMAIN_CATALOG, DOMAIN_SCHEMA, DOMAIN_NAME, COLUMN_NAME |
| adSchemaColumnPrivileges | 13 | TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, GRANTOR, GRANTEE |
| adSchemaColumns | 4 | TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME |
| adSchemaConstraintColumnUsage | 6 | TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME |
| adSchemaConstraintTableUsage | 7 | TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME |
| adSchemaForeignKeys | 27 | PK_TABLE_CATALOG, PK_TABLE_SCHEMA, PK_TABLE_NAME, FK_TABLE_CATALOG, FK_TABLE_SCHEMA, FK_TABLE_NAME |
| adSchemaIndexs | 12 | TABLE_CATALOG, TABLE_SCHEMA, INDEX_NAME, TYPE, TABLE_NAME |
| adSchemaKeyColumnUsage | 8 | CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME |
| adSchemaPrimaryKeys | 28 | PK_TABLE_CATALOG, PK_TABLE_SCHEMA, PK_TABLE_NAME |
| adSchemaProcedureColumns | 29 | PROCEDURE_CATALOG, PROCEDURE_SCHEMA, PROCEDURE_NAME, COLUMN_NAME |
| adSchemaProcedureParameters | 26 | PROCEDURE_CATALOG, PROCEDURE_SCHEMA, PROCEDURE_NAME, PARAMETER_NAME |
| adSchemaProcedures | 16 | PROCEDURE_CATALOG, PROCEDURE_SCHEMA, PROCEDURE_NAME, PARAMETER_TYPE |
| adSchemaProviderTypes | 22 | DATA_TYPE, BEST_MATCH |
| adSchemaReferentialConstraints | 9 | CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME |
| adSchemaSchemata | 17 | CATALOG_NAME, SCHEMA_NAME, SCHEMA_OWNER |
| adSchemaSQLLanguages | 18 | 沒有 |
| adSchemaStatistics | 19 | TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME |
| adSchemaTableConstraints | 10 | CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, CONSTRAINT_TYPE |
| adSchemaTablePriviledge | 14 | TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, GRANTOR, GRANTEE |
| adSchemaTables | 20 | TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE |
| adSchemaTranslations | 21 | TRANSLATION_CATALOG, TRANSLATION_SCHEMA, TRANSLATION_NAME |
| adSchemaUsagePrivileges | 15 | OBJECT_CATALOG, OBJECT_SCHEMA, OBJECT_NAME, OBJECT_TYPE, GRANTOR, GRANTEE |
| adSchemaViewColumnUsage | 24 | VIEW_CATALOG, VIEW_SCHEMA, VIEW_NAME |
| adSchemaViewTableUsage | 25 | VIEW_CATALOG, VIEW_SCHEMA, VIEW_NAME |
| adSchemaViews | 23 | TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME |
RollbackTrans
防止在當前處理事件中的所有資料庫的變化得以進行。一般在取用 BeginTrans 方法後執行。
屬性
Attributes
指明處理過程的屬性。下表中的常數可以讀或設置。
| 常數 | 描述 |
| adXactCommitRetaining | 指明在取用 CommitTrans 方法時會自動開始一個新的處理過程。 |
| adXactAbortRetaining | 指明在取用 RollbackTrans 方法時會自動開始一個新的處理過程。 |
CommandTimeOut
指明所有依靠資料連接的物件等待資料提供者回應的時間長度,以秒為單位。內定時該屬性的值為 30。如果你設置該屬性的值為 0,ADO 會永遠的等待服務器的回應。
ConnectionString
指明資料源(DSN)的名稱或者包含以分號隔開的參數和值對的連接字串。比如,下面的例子適用於 SQL Server。
dsn=MyDatabase;uid=MyLoginName;pwd=MyPassword
你可以在連接字串中使用在下表所示的參數和值對。
| 參數 | 值 |
| Provider | 資料提供者的名稱 |
| Data Source | 資料源的名稱(比如,一個 SQL Server 的 ODBC 資料源) |
| User | 在打開資料連接時所用的會員名 |
| Password | 在打開資料連接時所用的密碼 |
| File Name | 已經預設好連接訊息的與提供者相關的文件名 |
ConnectionTimeOut
指明 Connection 物件試著建立一個到資料提供者的連接時會等待的時間,以秒為單位。內定時該屬性的值為 15 秒,如果你設置該值為 0,Connetion 物件將會永久等待連接。
CursorLocation
指明使用那個游標庫。該屬性具有下表所示的值:
| 常數 | 描述 |
| adUseClient | 使用客戶端的游標 |
| adUseServer | 使用服務器或驅動器的游標(內定值)。 |
DefaultDatabase
指明連接時使用的內定資料庫。當已經指定內定資料庫時,你就不必在所有的 SQL 字串內包含資料庫名稱。
IsolationLevel
指明連接的隔離等級。只有在取用 BeginTrans 方法後,該屬性的新改變值才有效。該屬性具有下表的值:
| 常數 | 描述 |
| adXactUnspecified | 當資料提供者使用的隔離等級與你指定的不同時,該屬性傳回該值。 |
| adXactChaos | 指明你不能覆蓋目前正由其他的隔離處理過程使用的改變。 |
| adXactBrowse | 指明你可以查看在其他處理過程中還沒有確認的變化。 |
| adXactReadUncommitted | 和 adXactBrowse 一樣。 |
| adXactCursorStability | 指明你不能查看在其他處理過程中還沒有確認的變化(內定值)。 |
| adXactReadComitted | 和 adXactCursorStability 一樣 |
| adXactRepeatableRead | 除了允許重新查詢以獲得新的記錄集之外,和 adXactCursorStability 一樣。 |
| adXactIsolated | 指明所有的處理過程都與其他處理過程隔離。 |
| adXactSerialized | 同 adXactIsolated。 |
Mode
指明在連接中改變資料可用的權限。該屬性具有如下表所示的值:
| 常數 | 描述 |
| adModeUnknown | 未定(內定值)。 |
| adModeRead | 只讀權限。 |
| adModeWrite | 只寫權限。 |
| adModeReadWrite | 可讀、可寫權限。 |
| adModeShareDenyRead | 防止其他人用讀權限打開連接。 |
| adModeShareDenyWrite | 防止其他人用寫權限打開連接。 |
| adModeShareExclusive | 防止其他人用讀或寫權限打開連接。 |
| adModeShareDenyNone | 防止其他人用任何權限打開連接。 |
Provider
指明連接的資料提供者名稱。該屬性內定值為 MSDASQL(Microsoft OLEDB ODBC 資料提供者)。
State
在連接物件使用非同步(用 adRunAsync)時使用。傳回連接物件當前的狀態。這個屬性具有下表所示的值。
| 常數 | 描述 |
| adStateClosed | 物件已經關閉。 |
| adStateOpen | 物件處於打開狀態。 |
Version
以字串形式傳回當前的 ADO 版本。
| 小恐龍工作坊 提供 |
|---|