我在ASP.NET页面中有一个简单的搜索页面,我在其中填写基于SQL Query的数据集。
con.Open();
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
da.Fill(ds, "Emp");
GridView1.DataSource = ds;
GridView1.DataBind();
}
}
else
{
Label2.Text = "Data not found";
}
con.Close();
但即使搜索项存在,我也将此结果视为“未找到数据”..为什么不执行if语句?
答案 0 :(得分:1)
正如其他人建议您需要移动一行代码:
con.Open();
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds, "Emp"); // SEE THIS LINE!
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
GridView1.DataSource = ds;
GridView1.DataBind();
Label2.Text = string.Empty;
}
}
else
{
GridView1.DataSource = null;
GridView1.DataBind();
Label2.Text = "Data not found";
}
con.Close();
答案 1 :(得分:0)
你错过了
dataadapter.fill(ds)
答案 2 :(得分:0)
由于您在尝试填充数据集之前已经执行了查询,因此可能无法正常工作。尝试删除cmd.ExecuteNonQuery();.此外,非查询命令不会返回任何结果。确保您的查询确实返回结果。
答案 3 :(得分:0)
嗨,请尝试将其工作为我的gridview
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand("Select * from Tbl_Employee", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
gv1.DataSource = ds.Tables[0];
gv1.DataBind();
}
}