【问题标题】:SqlDataAdapter returns empty data setSqlDataAdapter 返回空数据集
【发布时间】:2012-09-23 14:43:00
【问题描述】:

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

【问题讨论】:

  • 并且您确定 (1) 您的连接字符串是正确的,(2) 您的 SELECT 语句确实返回了值,并且 (3) 在此过程中您没有遇到任何异常你只是在吞咽和忽视??

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


【解决方案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 块?如果是这样:有什么例外?它告诉你什么?

【讨论】:

  • 无异常 :S 连接字符串没问题。它连接到正确的表。例如,如果我输入表中列的名称,则它不会显示任何内容,但是如果我输入不存在列的名称,则会收到错误,该列不存在,因此它似乎正在寻找正确的数据库和表,但是为什么它什么都看不到,这就是我不知道的:S
  • @user1692436: 如果您在填写DataTable 后立即执行int rowCount = tablica.Rows.Count; - 结果DataTable 中是否有行?如果是:那么您的网格很可能有问题(它是否有固定的列定义,可能与您的DataTable 中返回的任何列都不匹配?)
  • 问题似乎是gridview 我的行数是4,现在我删除了gridview 并放入了一个新的,它确实有效。在我放置拖放数据源之前,网格视图似乎已经从那里进行了一些设置。非常感谢。
【解决方案2】:
SqlConnection connect = new SqlConnection(conn);
connect.Open();

【讨论】:

  • 不,这不是必需的 - SqlDataAdapter 将根据需要打开(和关闭)连接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-07
  • 1970-01-01
  • 2019-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-24
相关资源
最近更新 更多