1
在该存储过程中有三个输入参数,两个输入出参数
分别是输入:文本,int,日期,输入的分别是:日期,文本
Dim cmd As New ADODB.Command
(1)是否要定义五个参数,能否用一个来完成?
Dim parm0 As New ADODB.Parameter 
Dim parm1 As New ADODB.Parameter
Dim parm2 As New ADODB.Parameter
Dim parm3 As New ADODB.Parameter
Dim parm4 As New ADODB.Parameter
(2)调用时  parm0.Size = 10   size代表啥意思
如果parm0 加入的是文本跟日期  size有啥区别

解决方案 »

  1.   

    1:是的
    2:Size 属性
          表示 Parameter 对象的最大大小(按字节或字符)。设置和返回数值设置或返回表示 Parameter 对象的最大大小(按字节或字符)的长整型值。说明使用 Size 属性确定对 Parameter 对象的 Value 属性写入(或读出)值的最大大小。Size 属性为可读/写。如果要指定 Parameter 对象为变长数据类型(例如任何字符串类型,如 adVarChar),则必须先设置对象的 Size 属性,然后再将该对象追加到 Parameters 集合。否则,将会出现错误。如果已经将 Parameter 对象追加到 Command 对象的 Parameter 集合,并已经将它的类型更改为变长数据类型,那么必须先设置 Parameter 对象的 Size 属性然后再执行 Command 对象。否则,将出现错误。如果使用 Refresh 方法从提供者获取参数信息,并且它返回一个或多个变长数据类型 Parameter 对象,ADO 可能会根据其最大可能的大小为其分配内存空间,这样在执行中可能会导致错误。为避免出错,应该在执行命令之前显式设置这些参数的 Size 属性。
      

  2.   

    SIZE:
    使用 Size 属性确定对 Parameter 对象的 Value 属性写入(或读出)值的最大大小。Size 属性为可读/写。如果要指定 Parameter 对象为变长数据类型(例如任何字符串类型,如 adVarChar),则必须先设置对象的 Size 属性,然后再将该对象追加到 Parameters 集合。否则,将会出现错误。如果已经将 Parameter 对象追加到 Command 对象的 Parameter 集合,并已经将它的类型更改为变长数据类型,那么必须先设置 Parameter 对象的 Size 属性然后再执行 Command 对象。否则,将出现错误。如果使用 Refresh 方法从提供者获取参数信息,并且它返回一个或多个变长数据类型 Parameter 对象,ADO 可能会根据其最大可能的大小为其分配内存空间,这样在执行中可能会导致错误。为避免出错,应该在执行命令之前显式设置这些参数的 Size 属性。参数:
    有返回值你总要一个变量来保存吧。多几个就多几个,这样程序清楚一点
      

  3.   

    Dim cnn As New ADODB.Connection
        Dim cmd As New ADODB.Command
        Dim sSql As String
        cnn.Open GsConnectStr
        Set cmd.ActiveConnection = cnn
        sSql = "exec procdurename" & 参数1 & "," & 参数2
        cmd.CommandText = sSql
        cmd.Execute
    ---------------------------------------------------
    我看到以上的句语,他可以把所有的参数连到一条语句中
    如sSql,这种方式是否正确,如果过程有返回值,如何得到这些返回值