22. maj 2006 - 23:44Der er
6 kommentarer og 1 løsning
Param quries, replace param flere gange ?
Hejsa
Hvordan kan jeg optimere denne metode så mit param bliver ersattet hver gang ? Lige nu ser det ud til at den kun indsætter param værdien een gang, og ikke ersatter I næste loop.
Man kunne bruge Replace() istedet, men hvis der er en smartere metode så vil jeg gerne kende den :)
--- kode --- void DeleteChecked(object sender,EventArgs e) { if(Page.IsPostBack) { try { string SQL = "DELETE FROM guestbook WHERE id=@id"; System.Data.OleDb.OleDbConnection link = new System.Data.OleDb.OleDbConnection(); link.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\IIS\guestbook.mdb"; OleDbCommand cmd = new OleDbCommand(SQL,link); cmd.Connection.Open(); foreach(RepeaterItem item in msglist.Items) { HtmlInputCheckBox cb = item.FindControl("chkChoice") as HtmlInputCheckBox; if(cb.Checked) { cmd.Parameters.Add(new OleDbParameter("@id",cb.Value)); cmd.ExecuteNonQuery(); } } cmd.Connection.Close(); } catch(Exception ex) { error.Text = ex.ToString(); } finally { Response.Redirect("admin.aspx"); } } }
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Der manglede lige cmd.Parameters.Add(parameter);, men ellers virker det perfekt :)
Forresten finally bliver eksekveret selvom der er fanget en exceptions, er der noget jeg kan/bør gøre istedet ? Hvis den redirecter og der er fejl ser jeg dem ikke ;)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.