2010-04-20 102 views
0

我搜索了网络,搜索网络只是不完全找到我可能遇到。我目前有一个问题获取SqlDataAdapter来填充DataSet。我正在运行Visual Studio 2008,查询被发送到本地SqlServer 2008实例。如果我运行查询SqlServer,它确实会返回结果。 代码如下:C#SqlDataAdapter没有填充数据集

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 
} 

如果有任何更多的信息,我可以提供,请让我知道。

回答

3

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

+0

就是这样,非常感谢。我会尽快接受答案。 – Wesley 2010-04-20 17:23:28

+0

第二套眼睛是它所需要的。有时他们甚至不必成为智能头的一部分;-) – 2010-04-20 17:28:16

1

如果您运行此查询是否返回结果?

select Password from Employees where employee_ID = 'EmployeeName' 

我的猜测是“EmployeeName”应该被一些价值.... 过去了,如果您使用的是参数@EmpID不应该有它周围的单引号中查询。