29. marts 2005 - 00:41Der er
15 kommentarer og 1 løsning
Specielle tegn i Access og MSSQL db
Kan det passe, at Access ikke vil gemme æ, ø og å en databasen fra en TextBox? Jeg har før arbejdet med MySQL og synes ikke der var nogle problemer der.
Er der de samme problemer i MSSQL? Og hvordan kommer man uden om problemet i Access - det her virker nemlig ikke..:
Jeg har en række TextBox'e, hvori der står en artikel som allerede er skrevet. Formen er til for at kunne opdatere artiklen - altså posten i databasen. Når der trykkes på "Opdater"-knappen køres følgende kode:
foreach(DataListItem newsItem in DataListSingleNews.Items) { headline = ((TextBox)newsItem.FindControl("TextBoxHeadline")).Text; date = DateTime.Parse(((TextBox)newsItem.FindControl("TextBoxDate")).Text); content = ((TextBox)newsItem.FindControl("TextBoxContent")).Text; author = ((TextBox)newsItem.FindControl("TextBoxAuthor")).Text; }
Nu er alt hentet ind i variabler, og nu skal posten opdateres:
og et sidespørgsmål... kan det passe, at man ikke får lov til at gemme fx <br> tags i databasen, når man checker parametrenes format? Jeg får en fejl om, at koden er usikker... Hvordan gør man så det?
dinStreng.Text.Replace("\n", "<br>"); <-- den erstatter newlines med <br> men ønsker du at skrive <br> og andre html tags så skriver du bare ValidateRequest="false" i dit page directive, eller hvad det nu er den hedder..
prøv lige at udskrive din sql streng før du smider den i database og se om du allerede der har mistet æøå så vi kan lokalisere fejlen lidt...
En rettelse: Jeg kan sagtens gemme <br> tags i databasen, men den brokker sig, når jeg vil opdatere en tekst med fx <br> og <li> tags i. Altså KUN når jeg vil opdatere...
jokkejensen, det virker sørme :) Synes nu at jeg havde prøvet den løsning fra en af de tidligere tråde, men har først fået det til at virke nu. Smid et svar :)
Kan I også hjælpe med det mht den "usikre" kode? Når jeg fx vil opdatere min artikel, som indeholde fx <li> tegn, så brokker den sig, når den checker på, om parametren er rigtig. Så får jeg følgende fejl:
A potentially dangerous Request.Form value was detected from the client (_ctl0:DataListSingleNews:_ctl1:TextBoxContent="...ubben: <li>1 Keenes ketcher..."). Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. You can disable request validation by setting validateRequest=false in the Page directive or in the configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case.
Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (_ctl0:DataListSingleNews:_ctl1:TextBoxContent="...ubben: <li>1 Keenes ketcher...").
Kan I hjælpe mig med den også er der lidt flere point at hente... jokkejensen, hvor skal jeg skrive det ValidateRequest="false" henne? Og er det smart? Fjerner det ikke det tjek, jeg har lavet på, om der bliver skrevet usikkert input til min database?
Du skriver den blot i toppe af dit dokument i "page directive" der hvor der står <%# page %>, nej den er harmløs så længe den ligger i en admin del, den tillader blot html tags at blive godtaget...
Så lidt... Glad for det virker.. 2 små irriterende fejl :)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.