C# SqlDataAdapter 不填充数据集

Posted

技术标签:

【中文标题】C# SqlDataAdapter 不填充数据集【英文标题】:C# SqlDataAdapter not populating DataSet 【发布时间】:2010-04-20 17:16:12 【问题描述】:

我已经搜索了网络并搜索了网络,但并没有完全找到我可能遇到的问题。我目前在获取 SqlDataAdapter 来填充 DataSet 时遇到问题。我正在运行 Visual Studio 2008,并且查询被发送到 SqlServer 2008 的本地实例。如果我运行查询 SqlServer,它会返回结果。 代码如下:

string theQuery = "select Password from Employees where employee_ID = '@EmplID'";    
SqlDataAdapter theDataAdapter = new SqlDataAdapter();
theDataAdapter.SelectCommand = new SqlCommand(theQuery, conn);
theDataAdapter.SelectCommand.Parameters.Add("@EmplID", SqlDbType.VarChar).Value = "EmployeeName";
theDataAdapter.Fill(theSet);

读取数据集的代码:

foreach (DataRow theRow in theSet.Tables[0].Rows)

    //process row info

如果我可以提供更多信息,请告诉我。

【问题讨论】:

【参考方案1】:

您需要查询“从员工中选择密码,其中employee_ID = @EmplID”(参数周围没有单引号)。

【讨论】:

就是这样,非常感谢。我会尽快接受答案。 第二组眼睛就足够了。有时他们甚至不必成为聪明头脑的一部分;-)【参考方案2】:

如果您运行此查询,它会返回结果吗?

select Password from Employees where employee_ID = 'EmployeeName'

我的猜测是“EmployeeName”应该是一些传入的值...... 如果您使用参数,@EmpID 在查询中不应有单引号。

【讨论】:

以上是关于C# SqlDataAdapter 不填充数据集的主要内容,如果未能解决你的问题,请参考以下文章

带有表类型参数的存储过程返回数据但 SqlDataAdapter 不会填充

SQLDataAdapter 用主键填充数据表会产生错误并退出子

C# SqlDataAdapter.Fill 在传递数据表参数时给出关于数据转换的错误

使用 sqldataadapter.fill 刷新数据 - 看不到新数据

使用 SqlDataAdapter 用新名称填充数据集中的表,代码不完全运行且没有错误

为啥 SqlDataAdapter 的填充不允许我添加与外观具有相同行值的行?