我在数据库中有一个SQL表“角色”。我想知道用户是否有一个或多个角色(管理员/用户),然后在用户有2个角色的情况下执行某个值。c#sql数据库 - 如何从表中读取所有特定的行?
问题:我无法从数据库中获取所有值,我只获得第一个值。
我可以用foreach循环吗?我没有在这里,但我正在寻找解决方案。
,如:
cmd = new SqlCommand();
cmd.Connection = connection;
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = @"SELECT Role "
+ " FROM UsersRole "
+ " WHERE UserName = @UserName ";
cmd.Parameters.Add(new SqlParameter("@UserName", username));
reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
if (reader["Role"] != DBNull.Value)
{
Role = Convert.ToString(reader["Role"]);
if(Role == UserRole.Admin.ToString())
{
IsAdmin = true;
}
if (Role == UserRole.User.ToString())
{
IsUser = true;
}
}
else
{
Role = "";
}
}
}
reader.Close();
是否有可能访问表中DB与C#代码或我能做到这一点有什么不同?
感谢和照顾, Ragims
你对问题如何从数据库中检索数据,或者如何编写算法? – RedFilter 2010-08-20 13:51:11
您是否使用任何数据访问技术,如实体框架,LINQ to SQL,nhibernate?或者你想只使用.net SqlClient? – CodingGorilla 2010-08-20 13:51:30
RedFilter:如何检索数据。 CodingGorilla:我在支持SQL类的c#代码中直接从DB读取数据。 – 2010-08-20 13:54:56