使用两个不同的存储过程通过 ListView 插入/选择

本文关键字:存储过程 ListView 插入 选择 两个 | 更新日期: 2023-09-27 18:30:37

我有一个调用存储过程的列表视图

create procedure GetTicketJob
    @JobID      int
as
select JobID, TicketNum, UnitID, TicketDate, ChargeToCu, RecievedToCu, DeliverToCu, 
       DeliveredToLSD, ChargedToLSD, RecievedFromLSD, P.ProductName,
       ProductVolume, Subtotal, GST, Total, PreJobNotes, JobDesc
    from Tickets T
full outer join Products P
    on T.ProductID = P.ProductID
where JobID=@JobID
go

这正在按预期工作。我的问题是,当我尝试使用内置的插入模板进行插入时。我调用应插入到同一表中的不同存储过程:

create proc InsertTicketJob
    @JobID              int,
    @TicketNum          int,
    @UnitID             nvarchar(5),
    @TicketDate         datetime,
    @ChargeToCu         int,
    @RecievedToCu       int,
    @DelieverToCu       int,
    @DeliveredToLSD     nvarchar(30),
    @ChargedToLSD       nvarchar(30),
    @RecievedFromLSD    nvarchar(30),
    @ProductName        nvarchar(50),
    @ProductVolume      int,
    @Subtotal           int,
    @GST                int,
    @Total              int,
    @PreJobNotes        nvarchar(300),
    @JobDesc            nvarchar(300)
as
insert into Tickets
values(@TicketNum, @JobID, @TicketDate, @ChargeToCu, @RecievedToCu, @DelieverToCu, @DeliveredToLSD, @ChargedToLSD,
   @RecievedFromLSD, @ProductVolume, (select ProductID
                                      from Products
                                      where ProductName=@ProductName), @Subtotal, @GST, @Total,      @PreJobNotes, @JobDesc, @UnitID)
go

当我尝试这样做时,我收到错误: "Procedure or function InsertTicketJob has too many arguments specified."

根据我的理解,我没有调用很多参数。我在列表视图和 SQL 中指定了相同的数量

任何帮助都将得到极大的赞赏。

使用两个不同的存储过程通过 ListView 插入/选择

我直言。 在您的插入语句中。请在插入中指定字段/列。这是为了确保在正确的字段中插入了正确数量的数据。这也将避免您的错误。

例:

Insert Into Table1 (Name, Address, ZipCode) Values (@Name, @Address, @Zipcode)