此次又轉爲VB6了....... (┬_┬)程序員
---------------------------------------------------------------------------------------數組
CreateParameter 方法
使用指定屬性建立新的 Parameter 對象。
語法
Set parameter = command.CreateParameter (Name, Type, Direction, Size, Value)
返回值
返回 Parameter 對象。
參數
Name 可選,字符串,表明 Parameter 對象名稱。
Type 可選,長整型值,指定 Parameter 對象數據類型。關於有效設置請參見 Type 屬性。
Direction 可選,長整型值,指定 Parameter 對象類型。關於有效設置請參見 Direction 屬性。
Size 可選,長整型值,指定參數值最大長度(以字符或字節數爲單位)。
Value 可選,變體型,指定 Parameter 對象的值。15013772506
說明
使用 CreateParameter 方法可用指定的名稱、類型、方向、大小和值建立新的 Parameter 對象。在參數中傳送的全部值都將寫入相應的 Parameter 屬性。
該方法沒法自動將 Parameter 對象追加到 Command 對象的 Parameter 集合,這樣就能夠設置附加屬性。若是將 Parameter 對象追加到集合,則 ADO 將使該附加屬性的值生效。
若是在 Type 參數中指定可變長度的數據類型,那麼在將它追加到 Parameters 集合以前必須傳送 Size 參數或者設置 Parameter 對象的 Size 屬性;不然將產生錯誤。安全
Type 屬性
指示 Parameter、Field 或 Property 對象的操做類型或數據類型。
設置和返回值
設置或返回下列 DataTypeEnum 值之一。相應的 OLE DB 類型標識符在下表的說明欄的括號中給出。有關 OLE DB 數據類型的詳細信息,請參閱第 10 章和《OLE DB 程序員參考》的附錄
常量 說明
AdArray 與其餘類型一塊兒加入邏輯 OR 以指示該數據是那種類型的安全數組 (DBTYPE_ARRAY)。
AdBigInt 8 字節帶符號的整數 (DBTYPE_I8)。
AdBinary 二進制值 (DBTYPE_BYTES)。
AdBoolean 布爾型值 (DBTYPE_BOOL)。
adByRef 與其餘類型一塊兒加入邏輯 OR 以指示該數據是其餘類型數據的指針 (DBTYPE_BYREF)。
adBSTR 以空結尾的字符串 (Unicode) (DBTYPE_BSTR)。
adChar 字符串值 (DBTYPE_STR)。
adCurrency 貨幣值 (DBTYPE_CY)。貨幣數字的小數點位置固定、小數點右側有四位數字。該值保存爲 8 字節範圍爲 10,000 的帶符號整型值。
adDate 日期值 (DBTYPE_DATE)。日期按雙精度型數值來保存,數字所有表示從 1899 年 12 月 30 開始的日期數。小數部分是一天當中的片斷時間。
adDBDate 日期值 (yyyymmdd) (DBTYPE_DBDATE)。
adDBTime 時間值 (hhmmss) (DBTYPE_DBTIME)。
adDBTimeStamp 時間戳(yyyymmddhhmmss 加 10 億分之一的小數)(DBTYPE_DBTIMESTAMP).
adDecimal 具備固定精度和範圍的精確數字值 (DBTYPE_DECIMAL)。
adDouble 雙精度浮點值 (DBTYPE_R8)。
adEmpty 未指定值 (DBTYPE_EMPTY)。
adError 32 - 位錯誤代碼 (DBTYPE_ERROR)。
adGUID 全局惟一的標識符 (GUID) (DBTYPE_GUID)。
adIDispatch OLE 對象上 Idispatch 接口的指針 (DBTYPE_IDISPATCH)。
adInteger 4 字節的帶符號整型 (DBTYPE_I4)。
adIUnknown OLE 對象上 IUnknown 接口的指針 (DBTYPE_IUNKNOWN)。
adLongVarBinary 長二進制值(僅用於 Parameter 對象)。
adLongVarChar 長字符串值(僅用於 Parameter 對象)。
adLongVarWChar 以空結尾的長字符串值(僅用於 Parameter 對象)。
adNumeric 具備固定精度和範圍的精確數字值 (DBTYPE_NUMERIC)。
adSingle 單精度浮點值 (DBTYPE_R4)。
adSmallInt 2 字節帶符號整型 (DBTYPE_I2)。
adTinyInt 1 字節帶符號整型 (DBTYPE_I1)。
adUnsignedBigInt 8 字節不帶符號整型 (DBTYPE_UI8)。
adUnsignedInt 4 字節不帶符號整型 (DBTYPE_UI4)。
adUnsignedSmallInt 2 字節不帶符號整型 (DBTYPE_UI2)。
adUnsignedTinyInt 1 字節不帶符號整型 (DBTYPE_UI1)。
adUserDefined 用戶定義的變量 (DBTYPE_UDT)。
adVarBinary 二進制值(僅 Parameter 對象)。
adVarChar 字符串值(僅 Parameter 對象)。
adVariant 自動變體型 (DBTYPE_VARIANT)。
adVector 與其餘類型一塊兒加入邏輯 OR 中,指示數據是 DBVECTOR 結構(由 OLE DB 定義)。該結構含有元素的計數和其餘類型 (DBTYPE_VECTOR) 數據的指針。
adVarWChar 以空結尾的 Unicode 字符串(僅 Parameter 對象)。
adWChar 以空結尾的 Unicode 字符串 (DBTYPE_WSTR)。
說明
對 Parameter 對象,Type 屬性是讀/寫。對其餘全部對象,Type 屬性是隻讀。spa
Direction 屬性
指示 Parameter 所標明的是輸入參數、輸出參數仍是既是輸出又是輸入參數,或該參數是否爲存儲過程返回的值。
設置和返回值
設置或返回如下某個 ParameterDirectionEnum 值。
常量 說明
AdParamUnknown 指示參數方向未知。
AdParamInput 默認值。指示輸入參數。
AdParamOutput 指示輸出參數。
AdParamInputOutput 同時指示輸入參數和輸出參數。
AdParamReturnValue 指示返回值。
說明
使用 Direction 屬性可指定向過程傳遞參數或從過程傳遞參數的方式。Direction 屬性爲讀/寫;該屬性容許使用不返回該信息的提供者,或者在不但願 ADO 爲了獲取參數信息而附加調用提供者時設置該信息。
並不是全部的提供者均可以在其存儲過程當中肯定參數方向。在此狀況下,在執行查詢前必須設置 Direction 屬性。指針
----------------------------------------------------------------code
按上面的說明,各參數都應該有一些固定的參數寫法,然而我看到的下面這部分代碼,不知道爲何參數都是一堆數字。。。對象
不理解各個數字難道有什麼轉義??懵逼臉。blog
gudtErrObject.Position = "fncProcRun_0010" '処理開始 Me.MousePointer = 11 Set objCmd = CreateObject("ADODB.Command") Set objPrm = CreateObject("ADODB.Parameter") strProcSql = "AD_SIR_IF.AD_MAIN_R" With objCmd gudtErrObject.Position = "fncProcRun_0020" 'コマンド設定 .CommandText = strProcSql .CommandType = 4 .ActiveConnection = objOraDb gudtErrObject.Position = "fncProcRun_0030" 'IN引數の設定 Set objPrm = .CreateParameter("PC_KAI_CODE_i", 129, 1, 5) .Parameters.Append objPrm Set objPrm = .CreateParameter("PC_KMK_KAIKAKE_i", 200, 1, 255) .Parameters.Append objPrm Set objPrm = .CreateParameter("PC_KMK_SETSUBI_i", 200, 1, 255) .Parameters.Append objPrm Set objPrm = .CreateParameter("PC_RPL_DATE_S_i", 129, 1, 10) .Parameters.Append objPrm Set objPrm = .CreateParameter("PC_RPL_DATE_E_i", 129, 1, 10) .Parameters.Append objPrm Set objPrm = .CreateParameter("PC_SIR_CODE_S_i", 129, 1, 20) .Parameters.Append objPrm Set objPrm = .CreateParameter("PC_SIR_CODE_E_i", 129, 1, 20) .Parameters.Append objPrm Set objPrm = .CreateParameter("PC_REC_KBN_i", 129, 1, 1) .Parameters.Append objPrm gudtErrObject.Position = "fncProcRun_0040" 'OUT引數の設定(エラー情報分) Set objPrm = .CreateParameter("PN_ret_sts_o", 21, 2, 10) .Parameters.Append objPrm Set objPrm = .CreateParameter("PV_err_pos_o", 200, 2, 255) .Parameters.Append objPrm Set objPrm = .CreateParameter("PN_err_code_o", 21, 2, 10) .Parameters.Append objPrm Set objPrm = .CreateParameter("PV_err_msg_o", 200, 2, 255) .Parameters.Append objPrm gudtErrObject.Position = "fncProcRun_0050" 'IN引數に値を設定 .Parameters("PC_KAI_CODE_i").Value = gstrTenRenkeiKaiCode .Parameters("PC_KMK_KAIKAKE_i").Value = gstrKamokuKaikake .Parameters("PC_KMK_SETSUBI_i").Value = gstrKamokuSetsubi .Parameters("PC_RPL_DATE_S_i").Value = IIf(IsNull(imDate(0).Value), "", imDate(0).Value) .Parameters("PC_RPL_DATE_E_i").Value = IIf(IsNull(imDate(1).Value), "", imDate(1).Value) .Parameters("PC_SIR_CODE_S_i").Value = imtxtShiireSakiCode(0).Text .Parameters("PC_SIR_CODE_E_i").Value = imtxtShiireSakiCode(1).Text .Parameters("PC_REC_KBN_i").Value = gstrMode .Execute If .Parameters("PN_ret_sts_o").Value = 0 Then '正常終了の場合 Me.MousePointer = 0 Else '異常終了の場合 GoTo ProcErrWrite 'エラー書出し処理へ End If On Error GoTo 0 Set objPrm = Nothing Set objCmd = Nothing End With