Hej Grundtipset är att aldrig använda querystring- eller formulärdata direkt mot din SQL-databas eftersom detta kan medföra risk för exempelvis "SQL injections".Hjälp med Sorteringsfunktion åt båda hållen
Jag har en sida med rubriker för olika information, jag kan sortera åt ena hållet, typ asc eller desc.
Jag är ganska nybörjare på det här och undrar om någon kan hjälpa mig med ett kod exempel på hur jag skall skriva för att kunna sortera åt båda hållen. Tacksam för svar. Så här ser det ut nu:
string strSql = "";
string strOrder = "";
if (Request.QueryString["sort"] != null && Request.QueryString["sort"] != "")
{
strOrder = " ORDER BY " + Request.QueryString["sort"] + " ASC";
}
strSql += "SELECT * FROM News as ws, workers as pers ";
if (strOrder != "")
{
strSql += "WHERE ws.User = pers.Id " + strOrder;
}
else
strSql += "WHERE ws.User = pers.Id ORDER BY Date DESC";
DataSet ds = db.SelectQuery(strSql);
if (ds.Tables[0] != null)
//Qualification check
if(Session["LoginLevel"] != null && Convert.ToInt32(Session["LoginLevel"].ToString()) <= 3)
{
pnlNews.Controls.Add(new LiteralControl(""));
}
pnlNews.Controls.Add(new LiteralControl("<table class=dotted>"));
pnlNews.Controls.Add(new LiteralControl("<tr><th> Rubrik </th><th> Författare Tidpunkt </th><th></th></tr>"));
Svara
Sv: Hjälp med Sorteringsfunktion åt båda hållen
Du bör alltså i koden kontrollera att det finns en kolumn med det namn som angivits i querystring:en innan du ställer din fråga.
Vidare kan det väl vara en vettig idé att använda querystring:en även för sorteringsordningen, exempelvis <b>ascending=true</b>?
Sen köra:
<code>
bool sortAscending = bool.Parse(Request.QueryString["ascending"];
strOrder = " ORDER BY " + columnName + (sortAscending ? string.Empty : " DESC");
</code>
/Ted
www.tednyberg.com