標籤:array unknown isp dir 集合 儲存 har 允許 個數
這次又轉為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 屬性是唯讀。
Direction 屬性
指示 Parameter 所標明的是輸入參數、輸出參數還是既是輸出又是輸入參數,或該參數是否為預存程序返回的值。
設定和傳回值
設定或返回以下某個 ParameterDirectionEnum 值。
常量 說明
AdParamUnknown 指示參數方向未知。
AdParamInput 預設值。指示輸入參數。
AdParamOutput 指示輸出參數。
AdParamInputOutput 同時指示輸入參數和輸出參數。
AdParamReturnValue 指示傳回值。
說明
使用 Direction 屬性可指定向過程傳遞參數或從過程傳遞參數的方式。Direction 屬性為讀/寫;該屬性允許使用不返回該資訊的提供者,或者在不希望 ADO 為了擷取參數資訊而附加調用提供者時設定該資訊。
並非所有的提供者都可以在其預存程序中確定參數方向。在此情況下,在執行查詢前必須設定 Direction 屬性。
----------------------------------------------------------------
按上面的說明,各參數都應該有一些固定的參數寫法,然而我看到的下面這部分代碼,不知道為什麼參數都是一堆數字。。。
不理解各個數字難道有什麼轉義??懵逼臉。
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
VB調用預存程序 - CreateParameter 方法