有没有办法查询DataSet
类似 SQL 表?例如。我想检查DataSet
用户名是否与密码匹配。我可以像这样使用这段代码:
foreach (DataRow row in dataset.Tables[0].Rows)
{
MessageBox.Show(row.ItemArray[1].ToString());
}
但我只想让它选择给定用户名的行,而不是迭代整个表。
谢谢。
有没有办法查询DataSet
类似 SQL 表?例如。我想检查DataSet
用户名是否与密码匹配。我可以像这样使用这段代码:
foreach (DataRow row in dataset.Tables[0].Rows)
{
MessageBox.Show(row.ItemArray[1].ToString());
}
但我只想让它选择给定用户名的行,而不是迭代整个表。
谢谢。
您可以使用行过滤器
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 代码中完成的。
您可以使用
dataset.Tables[0].Select(....)
http://msdn.microsoft.com/en-us/library/det4aw50.aspx
但你不应该。在几乎所有情况下,SQL 服务器都会更快地找到匹配项。
此外,您应该散列您的密码