Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 根据单击按钮上的复选框从数据库中获取数据_C#_Database_Buttonclick - Fatal编程技术网

C# 根据单击按钮上的复选框从数据库中获取数据

C# 根据单击按钮上的复选框从数据库中获取数据,c#,database,buttonclick,C#,Database,Buttonclick,我的数据库中有一个由列(…..…..,块)组成的表。 块列具有位数据类型(True、False)。 当BLOCK列为False时,应该从数据库中提取数据。 当BLOCK column为True时,不应提取数据,从而引发错误。 当我在文本框中输入特定人员的姓名并单击按钮时,必须执行上述操作 我的按钮点击c#编码是 protected void ImageButton5_Click(object sender, ImageClickEventArgs e) { string select

我的数据库中有一个由列(…..…..,块)组成的表。 块列具有位数据类型(True、False)。 当BLOCK列为False时,应该从数据库中提取数据。 当BLOCK column为True时,不应提取数据,从而引发错误。 当我在文本框中输入特定人员的姓名并单击按钮时,必须执行上述操作

我的按钮点击c#编码是

 protected void ImageButton5_Click(object sender, ImageClickEventArgs e)
{

    string selectsql = "SELECT * FROM UserDetailsTwo";
    using (SqlConnection con = new SqlConnection(@"Data Source=ENTERKEY001;Initial Catalog=ContactManagement;Integrated Security=True"))//DataBase Connection
    {
        SqlCommand selectCommand = new SqlCommand(selectsql, con);
        con.Open();

        SqlDataReader SelectReader = selectCommand.ExecuteReader();
        while (SelectReader.Read())
        {

            Boolean BLOCK = Convert.ToBoolean(SelectReader["BLOCK"]);
            if (BLOCK == false)
            {

                //con.Open();
                SqlCommand cmd = con.CreateCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "SearchUser";
                cmd.Parameters.AddWithValue("@NAME", TextBox4.Text.Trim());
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                GridView1.DataSource = dt;
                GridView1.DataBind();
                con.Close();
            }
            else
            {
                Response.Write("Error");

            }
        }
        SelectReader.Close();
    }
}

您正在尝试像DataAdapter一样使用SQLDataReader

SelectReader = selectCommand.ExecuteReader();
while (SelectReader.Read())
{

          Int64 BLOCK = Convert.ToInt64(SelectReader["BLOCK"]);
          if (BLOCK == false)
          {

              con.Open();
              SqlCommand cmd = con.CreateCommand();
              cmd.CommandType = CommandType.StoredProcedure;
              cmd.CommandText = "SearchUser";
              cmd.Parameters.AddWithValue("@NAME", TextBox4.Text.Trim());
              SqlDataAdapter da = new SqlDataAdapter(cmd);
              DataTable dt = new DataTable();
              da.Fill(dt);
              GridView1.DataBind();
              con.Close();
          }
          else
          {
              Response.Write("Error");

          }
      }

什么是错误??您调试代码了吗?它在我的代码的第12行(而不是ststement行)抛出一个错误,告诉我“将数据类型NVARCHAR转换为BIGINT时出错”。它给我一个错误,告诉我“已经有一个打开的数据读取器与此命令关联,必须先关闭它。”在我的第28行(da.Fill(dt);)同一行出现相同错误(while(SelectReader.Read()))表中ID的数据类型是什么?您在哪里定义变量ID?