参数进去了没有?
    AdoCmd.CommandType = adCmdStoredProc
    AdoCmd.CommandText = "mysp_1"
    AdoCmd.Parameters(1) = intp
    AdoCmd.Execute
    Me.MousePointer = vbDefault
    MsgBox AdoCmd.Parameters(2).Value, vbInformation, "提示"

解决方案 »

  1.   

    vb调用存储过程还可以用con.execute
      

  2.   

    存储过程,一般都是自己编写,用于一组对数据库的操作,是一组SQL 语句以及控制语句、变量等等的组合。例子一个 创建一个表:CREATE TABLE [dbo].[pch_Train] (
            [TrainID] [char] (9) NOT NULL ,
            [StartCityID] [char] (3) NOT NULL ,
            [TargetCityID] [char] (3) NOT NULL ,
            [DaysConsuming] [int] NOT NULL ,
            [DepTime] [char] (4) NOT NULL ,
            [ArrTime] [char] (4) NOT NULL ,
            [TrainNumber] [varchar] (10) NOT NULL ,
            [TrainTypeID] [int] NOT NULL ,
            [Discount] [int] NULL ,
            [AwardNumber] [int] NULL ,
            [Brokerage] [money] NULL ,
            [ValidDate] [datetime] NULL ,
            [Re] [varchar] (100) NULL ,
            [RecordTimestamp] [timestamp] NULL ,
            [DeleteFlag] [bit] NULL ,
            [CreateDateTime] [datetime] NULL ,
            [UpdateDateTime] [datetime] NULL 
    ) ON [PRIMARY]
    GO下面的存储过程对此表进行操作(根据id更新一条记录):/*============================================*/
    create PROCEDURE pch_TrainUpdate
    /*修改一条火车标信息*/
    (
            @TrainID char (9) ,
            --@StartCityID char (3) ,
            --@TargetCityID char (3) ,
            @DaysConsuming int ,
            @DepTime char (4) ,
            @ArrTime char (4) ,
            @TrainNumber varchar (10) ,
            @TrainTypeID int ,
            @Discount int ,
            @AwardNumber int ,
            @Brokerage money ,
            @ValidDate datetime ,
            @Re varchar (100) ,
            @ReturnCode int output,
            @RowCount int output
    )
    AS
            set nocount on
            Begin Transaction
            Update pch_Train
            set
                     --StartCityID=@StartCityID ,
                    --TargetCityID=@TargetCityID ,
                    DaysConsuming=@DaysConsuming,
                    DepTime=@DepTime ,
                    ArrTime=@ArrTime ,
                    TrainNumber=@TrainNumber ,
                    TrainTypeID=@TrainTypeID ,
                    Discount=@Discount ,
                    AwardNumber=@AwardNumber ,
                    Brokerage=@Brokerage ,
                    ValidDate=@ValidDate ,
                    Re=@Re ,
                    UpdateDateTime= getdate()
            where TrainID=@TrainID
            if @@error != 0 or @@rowcount != 1 goto RollbackAndReturn
            select * from pch_Train(NOLOCK)
            where TrainID = @TrainID
            if @@error != 0 or @@rowcount != 1 goto RollbackAndReturn
            goto CommitAndReturn
    RollbackAndReturn:
      rollback transaction
      raiserror('更新pch_Train失败', 1,1)
      goto returnresultset
    CommitAndReturn:
      commit Transaction
    ReturnResultSet:
      set @ReturnCode = @@error
      set @RowCount = @@rowcount
      return @ReturnCode
    GO
      

  3.   

    Dim cm As ADODB.Command
        Dim rs As ADODB.Recordset 
        Dim cn As ADODB.Connection
        Set cm = New ADODB.Command
        Set cm.ActiveConnection = cn
        cm.CommandType = adCmdStoredProc
        cm.CommandText = "mysp_1"
        cm.Parameters.Append cm.CreateParameter("@inp", adInteger, adParamInput)
        cm("@Inp") = Value
        Set rs = cm.Execute
      

  4.   

    是不是触发器在作怪,取消了你的操作?
    在程序中执行存储过程应该和在SQL中执行时一样的.