DataSet查询类似于SQL表

时间:2012-08-15 10:43:33

标签: sql-server dataset password-checker

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

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

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

感谢。

2 个答案:

答案 0 :(得分:2)

您可以使用RowFilter

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代码。

答案 1 :(得分:1)

您可以使用

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

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

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

此外,您应该哈希密码