1

有没有办法查询DataSet类似 SQL 表?例如。我想检查DataSet用户名是否与密码匹配。我可以像这样使用这段代码:

foreach (DataRow row in dataset.Tables[0].Rows)
{
   MessageBox.Show(row.ItemArray[1].ToString());
}

但我只想让它选择给定用户名的行,而不是迭代整个表。

谢谢。

4

2 回答 2

2

您可以使用行过滤器

dataset.Tables[0].DefaultView.RowFilter = "UserName='MyUserName' 
And Password='0x0000000000000000'"

if(dataset.Tables[0].DefaultView.Count > 0){
//User Found
}else{
//User Not Found
}

更多信息如下;

http://msdn.microsoft.com/en-us/library/system.data.datatable.defaultview.aspx

也就是说,理想情况下,这种过滤是在 SQL 而不是 .NET 代码中完成的。

于 2012-08-15T11:12:00.850 回答
1

您可以使用

 dataset.Tables[0].Select(....)

http://msdn.microsoft.com/en-us/library/det4aw50.aspx

但你不应该。在几乎所有情况下,SQL 服务器都会更快地找到匹配项。

此外,您应该散列您的密码

于 2012-08-15T11:03:19.350 回答