C# 基于是否选中复选框的Update语句sql

C# 基于是否选中复选框的Update语句sql,c#,sql,asp.net,stored-procedures,checkbox,C#,Sql,Asp.net,Stored Procedures,Checkbox,我是sql新手,所以我想知道是否有人能帮忙 我有一个供应商会话id,它链接到数据库中的用户id。。。我的用户必须单击“签署声明”复选框,但我对必须作为存储过程传递的内容感到困惑 protected void CheckAccept_CheckedChanged(object sender, EventArgs e) { string declaration; if (CheckAccept.Checked)

我是sql新手,所以我想知道是否有人能帮忙

我有一个供应商会话id,它链接到数据库中的用户id。。。我的用户必须单击“签署声明”复选框,但我对必须作为存储过程传递的内容感到困惑

protected void CheckAccept_CheckedChanged(object sender, EventArgs e)
        {

            string declaration;

            if (CheckAccept.Checked)
            {
                declaration = "y";
            }
            else
            {
                declaration = "N";
            }


USE [SAPSupplierProductUpdate]
GO
/****** Object:  StoredProcedure [dbo].[uspConfirmDeclaration]    Script Date: 21/09/2018 08:28:28 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[uspConfirmDeclaration]

    @VendorId         nvarchar(256),
    @Declaration      char(1)

AS
BEGIN

    DECLARE @UserId uniqueidentifier
    SELECT  @UserId = NULL
    SELECT  @UserId = u.UserId
    FROM    dbo.aspnet_Users u,  dbo.aspnet_Membership m
    WHERE   LoweredUserName = LOWER(@VendorId) AND
            u.UserId = m.UserId

    IF (@UserId IS NULL)
        RETURN(1)

    UPDATE dbo.aspnet_Membership
    SET Declaration = @Declaration
    WHERE @UserId = UserId
    RETURN(0)
END

不确定将来的问题如何输入Y或N,请提供一些您尝试过的代码示例

由于您正在查找是否选中的复选框,这意味着只有两个可能/有效的选项被选中或未选中。在这种只有两个结果的情况下,最好使用布尔/位参数。对于您的应用程序,您需要确保复选框以假0状态开始,并且仅在选中时变为真1。在存储过程中,有一个简单的IF语句检查此值,然后继续执行代码的其余部分

T-SQL示例:

@checkedBox位=0-这是过程开头的参数 开始 如果@checkedBox=0 -不执行任何操作,复选框未选中 否则-这没关系,因为只有两种结果。 -把你的选择,更新,删除,都放在这里 终止
如果你能分享你迄今为止的进展,那将是非常棒的。我将从阅读开始。你的问题不清楚,即使对你来说,尤其是对你来说。在一句话中,您谈到了会话、数据库、用户输入、Gui元素和存储过程。这就是整个应用程序。根据随机猜测,您的问题似乎介于复选框值和数据库之间。请告诉我们有关复选框和表格的信息。嗨,伙计们,很抱歉反应太晚。我现在更新我的问题