从当前加载的记录更新一个字段

时间:2012-12-15 03:13:47

标签: c# datatable

在VS2010 / C#中工作 - 我有一个使用tableadaptor显示数据的表单(即来自拖放)

我的数据库中的一个字段是bookingstatus。我没有在表单上显示该字段。

表单采用变量bookingId并使用它来使用FillBy方法加载单个记录。

保存按钮的代码是

                this.bookingBindingSource.EndEdit();
                this.bookingTableAdapter.Update(this.quick_quoteDataSet.booking);

在此代码执行之前,我想将status字段的值设置为“P”。

我可以使用this.bookingTableAdapter.Update() - 但似乎我必须从表单中读取所有值,并将它们与状态字段的新值一起传递给update命令。

有没有办法可以简单地修改当前记录的那个字段的值?

1 个答案:

答案 0 :(得分:0)

使用存储过程

USE [Assets]
GO
/****** Object:  StoredProcedure [dbo].[UpdateAssDispRecord]    Script Date: 12/15/2012 08:00:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[UpdateAssDispRecord]

    @iDispID int,
    @nDispno decimal,
    @cKeygroup nchar(14),
    @iCodeID int,
    @dDate date,
    @nSale decimal,
    @nCumdep decimal,
    @nBookvalue decimal,
    @cRemarks nvarchar(50)

AS
BEGIN
    SET NOCOUNT ON;
            UPDATE ass_Disp
            SET 
                nDispno=@nDispno,
                cKeygroup=@cKeygroup,
                iCodeID=@iCodeID,
                dDate=@dDate,
                nSale=@nSale,
                nCumdep=@nCumdep,
                nBookvalue=@nBookvalue,
                cRemarks=@cRemarks
            WHERE
                iDispID = @iDispID  
END