【问题标题】:SqlDataAdapter does not fill DataSetSqlDataAdapter 未填充 DataSet
【发布时间】:2012-10-30 12:05:31
【问题描述】:

我正在使用 VS2012 和 SQL Server Express 2008。我已经总结了我的连接/查询,试图找出我的 DataSet 没有被填充的原因。连接成功完成,没有抛出异常,但是适配器没有填写DataSet。从中提取的数据库位于同一台 PC 上,使用 localhost\SQLEXPRESS 不会改变结果。感谢您的任何意见!

SqlConnection questionConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
questionConnection.Open();
String sql = "SELECT * FROM HRA.dbo.Questions";
SqlDataAdapter adapter = new SqlDataAdapter();
DataSet ds = new DataSet();
SqlCommand command = new SqlCommand(sql, questionConnection);
adapter.SelectCommand = command;
adapter.Fill(ds);
adapter.Dispose();
command.Dispose();
questionConnection.Close();

连接字符串:

<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=CODING-PC\SQLEXPRESS;Initial Catalog=HRA;User ID=sa; Password= TEST" />

【问题讨论】:

  • 检查数据有没有............你会得到数据在ds.Tables[0]

标签: c# sql sql-server ado.net


【解决方案1】:

试试这个:

SqlConnection questionConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
questionConnection.Open();
DataSet ds = new DataSet();
String sql = "SELECT * FROM HRA.dbo.Questions";
SqlDataAdapter adapter = new SqlDataAdapter(sql, questionConnection);
adapter.Fill(ds);

adapter.Dispose();
command.Dispose();
questionConnection.Close();

【讨论】:

  • 你能解释一下区别吗? “试试这个”并不是很有帮助。
【解决方案2】:

似乎已经找到了答案,但是,我还是发布了一个建议使用 using 块,并让 .NET 框架为您完成工作。你的 11 行代码可以用 3 次重写:

DataSet ds = new DataSet();
using (var adapter = new SqlDataAdapter("SELECT * FROM HRA.dbo.Questions", ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString))
{
    adapter.Fill(ds);
}

【讨论】:

    【解决方案3】:

    “HRA.dbo.Questions”是一个实际的表吗?

    您的连接字符串包含一个值为“HRA”的初始目录,据我所知,SQL 应该只包含 dbo.Questions。

    【讨论】:

    • 这里没关系。Connection字符串属性只是连接服务器和DB。
    【解决方案4】:

    检查您在代码的其他部分(例如页面加载事件)中没有填充语句。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-23
      相关资源
      最近更新 更多