【问题标题】:Check if value exists in database c#/.net检查数据库c#/.net中是否存在值
【发布时间】:2015-06-18 20:57:26
【问题描述】:

我将表单数据发送到 sql 数据库,并以另一种形式显示我的用户的输出。我刚刚添加了一个复选框字段,并将值设置为“Y”和“N”以表示是和否。我能够保存它们并检索它,但我试图将该值绑定到表单中的复选框字段。

所以我的问题是如何在我的复选框字段中显示数据库中该特定项目的字段值?

这是我目前所拥有的,但没有奏效:

private void LoadData()
{
    Connection connection = new Connection();
    try
    {
        connection.connection1();
        SqlCommand com = new SqlCommand("Select Image,UserName,Description,Private,CompValue FROM FutureProjTbl Where id='" + projectId + "'", connection.con);
        SqlDataReader dataReader = com.ExecuteReader();

        while (dataReader.Read())
        {
            image1.Src = dataReader["Image"].ToString();
            Owner.Text = dataReader["UserName"].ToString();
            Description.Text = dataReader["Description"].ToString();
            //The following 2 are my attempts to retrieve the item and bind it to the checkbox on the project template all the values will load into.
            //privateItem.Checked = Convert.ToBoolean(dataReader["Private"].ToString());
            //privateItem = (CheckBox) dataReader["Private"];
            compValue.Text = dataReader["CompValue"].ToString();


            FillDataForEditProjectModal(dataReader);
        }
        dataReader.Close();
    }
    catch (Exception)
    {

        throw;
    }
}

【问题讨论】:

  • 你应该考虑使用像实体框架这样的 ORM,当涉及到这样的操作时,它会让你的生活变得更轻松。

标签: c# html .net checkbox


【解决方案1】:

您需要比较并返回一个布尔值来设置检查值

privateItem.Checked = (dataReader["Private"].ToString() == "Y");

【讨论】:

    【解决方案2】:

    试试这个:

    privateItem.Checked = dataReader["Private"] == null ? false : dataReader["Private"].ToString() == "Y";
    

    但是,与其将值存储为YN,为什么不将该字段更改为数据库中的布尔值,然后您可以将其保存为复选框的选中状态(即true for @987654325 @, false for N) 并且当你把它带回来时会更容易映射:

    privateItem.Checked = (bool)dataReader["Private"];
    

    【讨论】:

    • 感谢您在数据库中的布尔值,我无法弄清楚我错过了什么以及为什么他不会首先这样做。也许我并不孤单。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 2022-11-26
    • 2011-05-16
    • 2013-04-12
    • 1970-01-01
    相关资源
    最近更新 更多