Using if statement to check individual value returned from a query

Total Post:101

Points:709

JQuery 
 1484  View(s)
Ratings:
Rate this:

I have a seleect query which the return query is used in an if statement. 

The query is correct, but the problem is becuase the query returns value from multiple rows it doesnt work. 

I want to use the if statement to check individual values retrived by the query. 

string security = "SELECT ProjectId FROM Project_List WHERE (ProfileId = (SELECT ProfileId FROM User_Profile WHERE (UserId = @UserId)))";
using (SqlConnection myConnection = new SqlConnection(connectionString))
{
    myConnection.Open();
    SqlCommand myCommand = new SqlCommand(security, myConnection);
    myCommand.Parameters.AddWithValue("@UserId", currentUserId); 
    if (Request.QueryString["ProjectId"] == myCommand.ExecuteReader().ToString())
    {
 
    }
    else
    {
         Response.Redirect("projectlist.aspx");
    }
}
  1. Re: Using if statement to check individual value returned from a query

    Instead of ExecuteScalar, which, as it's name implies returns a single value, you have to use ExecuteReader: 

    SqlDataReader reader = myCommand.ExecuteReader();
    while (reader.Read())
    {
       // grab next record selected
       int project_id =(int) reader[0]; 
       // do whatever you want with it
       if (Request.QueryString["ProjectId"]== project_id.ToString())
      
       }
       else
       {
           Response.Redirect("projectlist.aspx");
       }
    }

    The while loop will traverse all records returned by the SELECT query and exit as soon as there no more records available.

      Modified On Apr-09-2018 02:36:57 AM

Answer

Please check, If you want to make this post sponsored

You are not a Sponsored Member. Click Here to Subscribe the Membership.