你的约束问题,UPDATE 交费流水表
SET 前牌照号码 =@newstephphm WHERE (前牌照号码 = @forehphm)
这个@newstephphm的值在车辆表中不存在,所以更新不了

解决方案 »

  1.   

    我搞定了
    SET 前牌照号码 =@newstephphm 
    写错了应该是
    SET 前牌照号码 =@newForehphm 大家能给介绍关于利用存储过程的资料吗?想学习.
    马上就散份
      

  2.   

    熟悉sqlserver存储过程的基本语法,函数,系统的内部变量这样基本就可以了。如果要质量高一点的话,最好再回去看看,线代,高数等
      

  3.   

    http://www.chinaitlab.com/www/special/sql01.asp
    http://www.uml.org.cn/sjjm/sjjm.asp
      

  4.   

    Private SUB finallyvehicle(ByVal vForeHphm As String, ByVal vnewForeHphm As String, ByVal vnewstepHphm As String)  
        Set cmd = New ADODB.Command
        cmd.ActiveConnection = ConDB
        cmd.CommandText = "finallyvehicle"  
        cmd.CommandType = adCmdStoredProc    recCount = 9
        cmd.Parameters("@ForeHphm") = Trim(vForeHphm)
        cmd.Parameters("@newforehphm") = Trim(vnewForeHphm)
        cmd.Parameters("@newstephphm") = Trim(vnewstepHphm)
        Set Rst2 = cmd.Execute
      
        If cmd.Parameters("@re").Value = 7 Then
            MSGBOX "ASDF"
        End If
        Set cmd = Nothing
    End FunctionCREATE PROCEDURE finallyvehicle(
    @forehphm varchar(15), 
    @newforehphm varchar(15), 
    @newstephphm varchar(15),
    @re int out ) 
    AS
    declare @vehtype   char(1)
    declare @userid   char(12)
    declare @vehpicpath varchar(50)
    declare @payclass bit set xact_abort on
    begin tran
    set @re=1SELECT @vehtype=车辆类型, @userid =用户号,@payclass=交费性质 ,@vehpicpath= 车辆图片 
    FROM 车辆表
    WHERE (前牌照号码 = @forehphm )set @re=2
    if @@error>0
    ROLLBACK TRANSACTIONINSERT INTO 车辆表
          (前牌照号码,后牌照号码,车辆类型,用户号,交费性质,车辆图片)
    VALUES (@newforehphm,@newstephphm,@vehtype, @userid ,@payclass ,@vehpicpath )set @re=3
    if @@error>0
    ROLLBACK TRANSACTION
    commit tran
    GO