USING IF STATEMENT TO CHECK INDIVIDUAL VALUE RETURNED FROM A QUERY

Pravesh Singh

Total Post:101

Points:709
Posted by  Pravesh Singh
JQuery 
 909  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. Pravesh Singh

    Post:412

    Points:2888
    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.

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!