检查数据库中是否存在值 c#/.net

Check if value exists in database c#/.net

我正在将表单数据发送到 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;
    }
}

您需要比较 return 一个布尔值来设置选中的值

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

试试这个:

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

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

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