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..:
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
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.