Button btn = (Button)sender;
int id = int.Parse(btn.CommandArgument);
string session = Session["UserName"].ToString();
string Query = "DELETE FROM ShoppingBasket WHERE Date IN (SELECT TOP 1 Date FROM shoppingBasket WHERE ProductID = " + id + " AND UserID = '" + session + "' ORDER BY Date DESC)";
ConnectionHandler objHandler = new ConnectionHandler();
DataTable dt = objHandler.ExecuteSelect(Query);
The values in the queries seem to be ok.
The error flags up in on line where bold
public class ConnectionHandler
{
SqlConnection cn;
void connect()
{
string cnstr = System.Configuration.ConfigurationManager.ConnectionStrings["ShoppingCart"].ConnectionString;
cn = new SqlConnection(cnstr);
cn.Open();
}
public DataTable ExecuteSelect(string Query)
{
connect();
SqlDataAdapter da = new SqlDataAdapter(Query, cn);
DataSet ds = new DataSet();
da.Fill(ds);
[b]DataTable dt = ds.Tables[0];
[/b]
return dt;
}
public int ExecuteStatement(string Query)
{
connect();
SqlCommand cmd = new SqlCommand(Query, cn);
return cmd.ExecuteNonQuery();
}
}
The query works great when entered directly into SQL, (deleting the latest record where userID and product is specified)
When debugged the values in the query look good.
Just getting IndexOutOfRangeException and Cannot find table 0. This is when the user is logged in.

New Topic/Question
This topic is locked


MultiQuote







|