我有一个问题。我试图整天解决它,我真的被卡住了。我正在使用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,但似乎没有任何效果。任何帮助表示赞赏。提前谢谢。
答案 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();