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