在单击按钮时覆盖以前的复选框值

本文关键字:复选框 覆盖 单击 按钮 | 更新日期: 2023-09-27 17:49:39

我使用'Yes'保存一个复选框值&'否',我的问题是,我有一个按钮点击,将允许用户改变值。

所以我的逻辑是,如果按钮被点击,复选框的值是否将更改为是。

下面是我要保存的原始信息:

     public void StoredProcedure()
    {
        string privateItem = Private.Checked ? "Y" : "N";
        connection.connection1();
        if (connection.con.State == ConnectionState.Closed)
            connection.con.Open();
        using (SqlCommand cmd = new SqlCommand("SaveImage", connection.con))
        {
            cmd.Parameters.Add("@privatecheck", SqlDbType.Char).Value = privateItem;
            cmd.ExecuteNonQuery();
            cmd.Parameters.Clear();
        }
        connection.con.Close();
    }
基本上,我有一个存储过程在我的数据库中,将保存我的信息。

现在我想更新一个值基本上是做同样的事情,但它导致了一个错误。

任何关于如何覆盖以前保存的复选框值的帮助将非常有帮助!

谢谢

在单击按钮时覆盖以前的复选框值

我不完全清楚你在问什么,所以我的回答给出了两个可能的解决方案:

如果你想修改控件本身是否被选中,这里有一段来自MSDN的示例代码:

private void AdjustMyCheckBoxProperties()
 {
    // Change the ThreeState and CheckAlign properties on every other click. 
    if (!checkBox1.ThreeState)
    {
       checkBox1.ThreeState = true;
       checkBox1.CheckAlign = ContentAlignment.MiddleRight;
    }
    else
    {
       checkBox1.ThreeState = false;
       checkBox1.CheckAlign = ContentAlignment.MiddleLeft;
    }
    // Concatenate the property values together on three lines.
    label1.Text = "ThreeState: " + checkBox1.ThreeState.ToString() + "'n" +
                  "Checked: " + checkBox1.Checked.ToString() + "'n" +
                  "CheckState: " + checkBox1.CheckState.ToString(); 
 }

如果你想修改表中的一列,一个UPDATE SQL语句就可以做到这一点,MSDN有一个关于如何使用LINQ和SQL来实现这一点的很好的讲解,我建议你阅读。

然而,我看到你正在使用SqlCommand,所以这里是关于如何从MSDN执行更新命令(再次)的示例代码:

private static void CreateCommand(string queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(queryString, connection);
        command.Connection.Open();
        command.ExecuteNonQuery();
    }
}

以上所有部分应该可以帮助您生成解决方案