VB调用存储过程 - CreateParameter 方法
这次又转为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 =
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 =
.ActiveConnection = objOraDb gudtErrObject.Position = "fncProcRun_0030" 'IN引数の設定
Set objPrm = .CreateParameter("PC_KAI_CODE_i", , , )
.Parameters.Append objPrm
Set objPrm = .CreateParameter("PC_KMK_KAIKAKE_i", , , )
.Parameters.Append objPrm
Set objPrm = .CreateParameter("PC_KMK_SETSUBI_i", , , )
.Parameters.Append objPrm
Set objPrm = .CreateParameter("PC_RPL_DATE_S_i", , , )
.Parameters.Append objPrm
Set objPrm = .CreateParameter("PC_RPL_DATE_E_i", , , )
.Parameters.Append objPrm
Set objPrm = .CreateParameter("PC_SIR_CODE_S_i", , , )
.Parameters.Append objPrm
Set objPrm = .CreateParameter("PC_SIR_CODE_E_i", , , )
.Parameters.Append objPrm
Set objPrm = .CreateParameter("PC_REC_KBN_i", , , )
.Parameters.Append objPrm gudtErrObject.Position = "fncProcRun_0040" 'OUT引数の設定(エラー情報分)
Set objPrm = .CreateParameter("PN_ret_sts_o", , , )
.Parameters.Append objPrm
Set objPrm = .CreateParameter("PV_err_pos_o", , , )
.Parameters.Append objPrm
Set objPrm = .CreateParameter("PN_err_code_o", , , )
.Parameters.Append objPrm
Set objPrm = .CreateParameter("PV_err_msg_o", , , )
.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().Value), "", imDate().Value)
.Parameters("PC_RPL_DATE_E_i").Value = IIf(IsNull(imDate().Value), "", imDate().Value)
.Parameters("PC_SIR_CODE_S_i").Value = imtxtShiireSakiCode().Text
.Parameters("PC_SIR_CODE_E_i").Value = imtxtShiireSakiCode().Text
.Parameters("PC_REC_KBN_i").Value = gstrMode .Execute If .Parameters("PN_ret_sts_o").Value = Then
'正常終了の場合
Me.MousePointer =
Else
'異常終了の場合
GoTo ProcErrWrite 'エラー書出し処理へ
End If
On Error GoTo
Set objPrm = Nothing
Set objCmd = Nothing End With
VB调用存储过程 - CreateParameter 方法的更多相关文章
- jdbc调用存储过程的方法
----------------------------jdbc调用存储过程的方法---------------------------------------------------private ...
- 【Java EE 学习 29 下】【JDBC编程中操作Oracle数据库】【调用存储过程的方法】
疑问:怎样判断存储过程执行之后返回值是否为空. 一.连接oracle数据库 1.需要的jar包:在安装的oracle中就有,所以不需要到官网下载,我的oracle11g下:D:\app\kdyzm\p ...
- hibernate的update() 更新延迟或者无法更新,导致同个service调用存储过程执行方法不精确
hibernate的update()方法无法更新,不报错 原因是hibernate的update方法操作的是缓存,可以flush下先. 设置缓存为false理论上也可. 在一个serivce方法里,执 ...
- entity framework core 调用存储过程和方法
目前EF Core调用存储过程,限制很多,比如返回结果必须是定义好的DbSet<>等等.这里用一种曲线救国的方式,自定义两个方法,用原始ado.net解决问题.以MySql数据库为例,代码 ...
- sqlserver 2008 存储过程调用存储过程或方法
函数:拆分字符串,并返回一个table CREATE FUNCTION [dbo].[f_splitSTR](@s varchar(max), --待分拆的字符串@split varchar(10) ...
- asp.net 常用的几种调用存储过程的方法
(1)简单的无参数存储过程 create procedure ExpOneasselect top 10 * from Corpgo C#调用此存储过程 SqlConnection co ...
- ASP调用存储过程访问SQL Server
ASP调用存储过程访问SQL Server 2011-02-15 10:22:57 标签:asp 数据库 sQL 存储过程 Server ASP和存储过程(Stored Procedures)的文章 ...
- Java和Ibatis调用存储过程并取得返回值详解
Java和Ibatis调用存储过程并取得返回值详解 2011-07-19 17:33 jiandanfeng2 CSDN博客 字号:T | T 本文主要介绍了Java和Ibatis调用存储过程的方法, ...
- java调用存储过程
在做java调用sqlserver存储过程时遇到了各种各样的问题,不过在不懈的努力之下这些问题还是得以解决了.今天总结一下遇到的问题以及解决的方法. 首先调用存储过程的方法大家都很清楚: String ...
随机推荐
- Swift 简介
1.swift支持所有C和Obeject-c的基本类型,支持面向过程和面向对象的编程机制. 2.swift提供了2种功能强劲的集合类型:数组和字典 3.元祖 4.可选类型 5.swift 是一种类型安 ...
- 工具04_SQL Trace/DBMS_SYSTEM
2014-06-25 Created By BaoXinjian
- STL中list和vector在添加元素时push_back会调用拷贝构造函数
#include <iostream> #include <list> #include <vector> #include <cstring> usi ...
- js声明json数据,打印json数据,遍历json数据
1.js声明json数据: 2.打印json数据: 3.遍历json数据 //声明JSON var json = {}; json.a = 1; //第一种赋值方式(仿对象型) json['b'] = ...
- HTML中让表单input等文本框为只读不可编辑的方法
有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使<input type="text" name="input1" value=&qu ...
- EF 分组查询
var result = from m in userPrefers.GroupBy(t => new { t.Pet_Preferential.Merchant.MerchantId, t.P ...
- linux命令-ssh {远程登录}
一 命令解释 命令: ssh ssh [-l login_name] [-p port] [user@]hostname
- Nice Validator(Form验证)及Juery zTree控件
http://niceue.com/validator/demo/match.php http://www.ztree.me/v3/demo.php#_603
- 为什么要使用Mac系统?
1.键盘手感,电脑外形设计轻薄,舒适,金属感比较舒服: 2.Mac炫酷方便的手势操作: 3.Mission Control的多桌面操作,方便切换工作: 4.软件安装卸载方便(相比Windows): 5 ...
- SqlServer实现先将所有数据排好序再进行分页
平时,我们对数据进行分页,然后将分页后的数据再进行排序输出.这样做只是针对每次请求,也就是前TOP个数据进行了排序,并不是将数据库中的所有的数据进行了排序.当我们需要将数据库中的所有数据排序后在进行分 ...