SqlDataAdapter返回空数据集

时间:2012-09-23 14:43:01

标签: c# asp.net sql-server-2012

我有一个问题。我试图整天解决它,我真的被卡住了。我正在使用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 *应该选择所有数据,但我得到一个空表返回。我一直在尝试数据集和DataTable,但似乎没有任何效果。任何帮助表示赞赏。提前谢谢。

2 个答案:

答案 0 :(得分:1)

我有一种预感,你可能会遇到异常 - 可能是暂停 - 并且你没有正确处理这个...

尝试这样的事情:

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区块?如果是这样的话:什么是例外?它告诉你什么?

答案 1 :(得分:0)

SqlConnection connect = new SqlConnection(conn);
connect.Open();