igor92128
asked on
Running SQL queries containing querystrings in codebehind.
I have an ASP.NET page with a QueryString in the URL of AlbumID (Example: MyPage.aspx?AlbumID=1). I need to write some codebehind in C# on this page that simply gets an average by running a query for the AlbumID in the querystring, and put that result in a Label1 in the ASP.NET front page.
Here is my code:
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection myConnection = null;
try
{
string connString = ConfigurationManager.Conne ctionStrin g["Connect ionString" ].Connecti onString;
myConnection = new SqlConnection();
myConnection.ConnectionStr ing = connString;
myConnection.Open();
SqlCommand getAverage = new SqlCommand();
getAverage.CommandText = "SELECT AVG(Rating) FROM Ratings WHERE AlbumID = @AlbumID";
getAverage.Connection = myConnection;
SqlDataReader reader = getAverage.ExecuteReader() ;
getAverage.Parameters.AddW ithValue(" @AlbumID", Label1.Text);
while (reader.Read())
{
string average = (string)reader["avg"];
Label1.Text += average;
}
getAverage.ExecuteNonQuery ();
reader.Close();
myConnection.Close();
}
catch(Exception ex)
{
// Just for testing.
Label1.Text += ex.ToString();
}
}
When I run this, I get the exception "Must declare the scalar variable "@AlbumID". " and I don't know why it isn't reading what is in the querystring.
Any Ideas?
thanks,
Igor
Here is my code:
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection myConnection = null;
try
{
string connString = ConfigurationManager.Conne
myConnection = new SqlConnection();
myConnection.ConnectionStr
myConnection.Open();
SqlCommand getAverage = new SqlCommand();
getAverage.CommandText = "SELECT AVG(Rating) FROM Ratings WHERE AlbumID = @AlbumID";
getAverage.Connection = myConnection;
SqlDataReader reader = getAverage.ExecuteReader()
getAverage.Parameters.AddW
while (reader.Read())
{
string average = (string)reader["avg"];
Label1.Text += average;
}
getAverage.ExecuteNonQuery
reader.Close();
myConnection.Close();
}
catch(Exception ex)
{
// Just for testing.
Label1.Text += ex.ToString();
}
}
When I run this, I get the exception "Must declare the scalar variable "@AlbumID". " and I don't know why it isn't reading what is in the querystring.
Any Ideas?
thanks,
Igor
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.