数据集未被填充
我在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语句?
当别人建议你需要移动一行代码如下所示:
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();
你缺少
dataadapter.fill(ds)
我已经做到了原样'DA。填充(ds,“Emp”);' – Girish 2012-08-13 11:27:48
你也可以这样做,如果它解决了你的问题,你能否接受答案? – 2012-08-13 11:33:34
很可能不工作,因为你已经执行之前试图填补数据集查询。尝试删除cmd.ExecuteNonQuery();.另外,Non Query命令不会返回任何结果。确保你的查询确实返回结果。
那么,如果我删除if else条件,代码会得到执行。这是工作..当我执行if..else,“如果”条件不工作.. – Girish 2012-08-13 11:24:31
喜请尽量将其工作为我的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();
}
}
有你试试这个? – 2012-08-13 11:51:49
感谢它的工作..一个更多的问题..当我输入表中存在的值,它返回值..当我在文本框中输入的值不在数据库表中,我收到消息 - “找不到数据”,但之前搜索的GridView仍然存在。 – Girish 2012-08-13 11:38:48
查看我的更新答案以解决第二个问题! (并投票的答案了!); O) – bUKaneer 2012-08-13 11:46:25
曾为非常感谢..这里的最后一个疑问。当我进入不相关的文字,它给“找不到数据”错误。现在,当我进入的Java这是存在于数据库表,它与先前的消息重叠.. – Girish 2012-08-13 11:53:38