有没有办法像SQL表一样查询DataSet
?例如。如果用户名与密码匹配,我想检查DataSet
。我可以像这样使用这段代码:
foreach (DataRow row in dataset.Tables[0].Rows)
{
MessageBox.Show(row.ItemArray[1].ToString());
}
但我只是想让它选择已经给出用户名的行,而不是迭代整个表。
感谢。
答案 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服务器都会更快地找到匹配项。
此外,您应该哈希密码