我有一个问题。我整天都在尝试解决它,但我真的被困住了。我正在使用 VS2010 和 SQL Server 2012(相当糟糕的组合),我正在尝试执行一段相当简单的 C# 和 ASP.net 代码,如下所示:
string conn = ConfigurationManager.ConnectionStrings["BazaConnectionString"].ConnectionString;
SqlConnection connect = new SqlConnection(conn);
SqlDataAdapter sqlAdapter = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand("SELECT * FROM Seminar", connect);
sqlAdapter.SelectCommand = cmd;
DataTable tablica = new DataTable();
sqlAdapter.Fill(tablica);
GridView1.DataSource = tablica;
GridView1.DataBind();
问题是我的 gridview 总是空的。我在表中有数据,SELECT *
应该选择所有数据,但我返回了一个空表。我一直在尝试数据集和数据表,但似乎没有任何效果。任何帮助表示赞赏。提前致谢。
最佳答案
我有一种预感,您可能会遇到异常 - 可能是超时 - 而您没有正确处理这个......
尝试这样的事情:
string conn = ConfigurationManager.ConnectionStrings["BazaConnectionString"].ConnectionString;
using (SqlConnection connect = new SqlConnection(conn))
using (SqlCommand cmd = new SqlCommand("SELECT * FROM Seminar", connect))
using (SqlDataAdapter sqlAdapter = new SqlDataAdapter(cmd))
{
try
{
DataTable tablica = new DataTable();
sqlAdapter.Fill(tablica);
GridView1.DataSource = tablica;
GridView1.DataBind();
}
catch(Exception exc)
{
string msg = exc.GetType().FullName + ": " + exc.Message;
}
}
如果你执行这段代码——你是否碰巧落入了catch
block ?如果是这样:有什么异常(exception)?它告诉你什么?
关于c# - SqlDataAdapter 返回空数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12553259/