![](/img/trans.png)
[英]How to get column Header values in column as a result ?? Sql Server 2008
[英]how do i get column value from sql server 2008?
我有5列的表:
我写了这样的代码:
String SQLQuery = "SELECT count(*) FROM aspnet_Users where Username=@uname AND Password = @pwd";
using(SqlConnection sqlConnection = new SqlConnection(strConnection))
using(SqlCommand command = new SqlCommand(SQLQuery, sqlConnection))
{
sqlConnection.Open();
command.Parameters.AddWithValue("@uname", Username);
command.Parameters.AddWithValue("@pwd", Password);
int result = Convert.ToInt32(command.ExecuteScalar());
boolReturnValue = (result > 0);
}
这里需要一些其他信息,如果上面的用户名和密码正确,我需要的是: userid和角色列数据
为什么您不这样做呢?
string SQLQuery = "SELECT UserId FROM aspnet_Users where Username=@uname AND Password = @pwd";
[...]
object result = command.ExecuteScalar();
if (result == null)
{
boolReturnValue = false;
}
else
{
long userId = Convert.ToInt64(result);
boolReturnValue = true;
}
String SQLQuery = "SELECT Top 1 UserId, role FROM aspnet_Users where Username=@uname AND Password = @pwd";
using(SqlConnection sqlConnection = new SqlConnection(strConnection))
using(SqlCommand command = new SqlCommand(SQLQuery, sqlConnection))
{
sqlConnection.Open();
command.Parameters.AddWithValue("@uname", Username);
command.Parameters.AddWithValue("@pwd", Password);
SqlDataReader Reader = null;
if (sqlConnection.State == ConnectionState.Closed || sqlConnection.State == ConnectionState.Broken)
sqlConnection.Open();
Reader = command.ExecuteReader();
if (Reader.Read())
{
int UserId = Convert.ToInt32(Reader["UserId"]);
string Role = Convert.ToString(Reader["role"]);
}
}
为什么不直接获取UserId而不是Count(*),所以查询应如下所示:
SELECT UserId FROM aspnet_Users where Username=@uname AND Password = @pwd
用户名应该是唯一的,因此您不应检索超过一行...如果您有多个相同的用户名和相同的密码,则可以添加前1名。
试试这个代码
SELECT count(*),userid,role FROM aspnet_Users where Username=@uname AND Password = @pwd Group by userid,role
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.