【问题标题】:Is there a way to make a Checkbox on/off in Visual Studio C# by retrieving a MySqlDataReader boolean value?有没有办法通过检索 MySqlDataReader 布尔值在 Visual Studio C# 中打开/关闭复选框?
【发布时间】:2019-10-29 18:02:24
【问题描述】:

这里是 Stack Overflow 的新手。 我正在寻找一种方法来让我的 CheckBox1 在我单击它时打开和关闭,而不需要标签或 .Text,因为在我的 MySQL 数据中,相应的值是一个布尔值。

当我在另一个页面的网格视图中列出我的数据时,该值保持锁定并按我希望的方式显示,但在我的另一个 CRUD 页面中,我的复选框未正确配置。

我正在努力寻找一种方法将 CheckBox1.Checked 链接到 Visual Studio 中相应的 tinyint 值。

复选框将标签值显示为 True 或 False,我还不知道如何使该值勾选我的复选框,以及这是否是考虑代码的正确方法。如果我不够清楚,我深表歉意。

我已在 html 对象下方显示,尝试将布尔值直接检索到复选框,以及实际的读取方法,以便我可以尝试正确读取 CheckBox1。

ativo:<asp:Checkbox id="Checkbox1" type="checkbox" runat="server" AutoPostBack="True" ClientIDMode="AutoID" Text=" " TextAlign="Left"></asp:Checkbox><br />
String sql = String.Format("insert into cliente(codigo, nome, email, telefone, senha, ativo) values('{0}','{1}',{2},{3},{4},'{5}')", txtCodigo.Text, txtNome.Text, txtEmail.Text, txtTelefone.Text, txtSenha.Text, (Checkbox1.Checked ? 1 : 0));

protected void read(object sender, EventArgs e)
        {
            try
            {
                MySqlConnection conexao = new MySqlConnection(sc);
                conexao.Open();
                String sql = "select * from cliente where codigo={0}" + txtCodigo.Text;
                sql = String.Format(sql, txtCodigo.Text);
                MySqlCommand comando = new MySqlCommand(sql, conexao);
                MySqlDataReader registro = comando.ExecuteReader();
                if (registro.Read())
                {
                    txtCodigo.Text = registro["codigo"].ToString();
                    txtNome.Text = registro["nome"].ToString();
                    txtEmail.Text = registro["email"].ToString();
                    txtTelefone.Text = registro["telefone"].ToString();
                    txtSenha.Text = registro["senha"].ToString();
                    Checkbox1.Checked.ToString() = registro["ativo"].ToString();
                    lblMensagem.Text = "";
                }
                else
                {
                    lblMensagem.Text = "Registro não encontrado !";
                    limpar();
                }
                conexao.Close();
            }
            catch (Exception err)
            {
                lblMensagem.Text = "Ocorreu um erro tente mais tarde !";
            }
        }

我希望创建、阅读和更新此复选框。

【问题讨论】:

    标签: c# mysql visual-studio type-conversion boolean


    【解决方案1】:

    选中的属性是布尔值 所以你可以像这样将值转换为布尔值:

    Checkbox1.Checked = Convert.ToBoolean(registro["ativo"])
    

    【讨论】:

      猜你喜欢
      • 2021-08-20
      • 2023-01-13
      • 1970-01-01
      • 2015-05-25
      • 1970-01-01
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多