SQL命令不会重定向

时间:2016-11-02 04:11:38

标签: c# asp.net sql-server c#-4.0 webforms

我创建了这段代码,但没有按照应有的方式运行。

当查询在数据库中返回匹配值时,应该发生什么,它应该重定向页面。但无论我做什么,它总是将值返回为false,并且永远不会重定向。

至少我认为正在发生的事情,任何帮助都会很棒......

我已经为此工作了3天,我很想忘记。如果有更好的方法,我会全力以赴。

var SuserId = User.Identity.GetUserId();

SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);

SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;

conn.Open();
cmd.CommandText = "select Count(ID) from AspNetStripeUsers where ID=@ID";
cmd.Parameters.AddWithValue("@ID", SuserId);

int result = (int)cmd.ExecuteScalar();

string wewe = result.ToString();

if (wewe == SuserId)
{
    Response.Redirect("~/Services/MS/OT/igive");
}

3 个答案:

答案 0 :(得分:0)

首先,您要比较UserId和可能产生问题的UserId计数。

int result = (int)cmd.ExecuteScalar();

if (result>0)
{
    Response.Redirect("~/Services/MS/OT/igive");
}
else
{
//User not registered.
}

答案 1 :(得分:0)

int result = (int)cmd.ExecuteScalar(); 将始终返回一个与userID不相似的int值,因为它将从Database中检索第一个值,因此只需检查它是否具有任何值,这意味着您的条件为真

所以Nayan给出的上述代码是真的。

if (result>0)
{
    Response.Redirect("~/Services/MS/OT/igive");
}
else
{
Console.Writeline("The user id is not valid";

}

答案 2 :(得分:0)

int result = (int)cmd.ExecuteScalar();

if (result>0)
{
    Response.Redirect("");
}