Avatar billede crunch Nybegynder
30. marts 2003 - 13:01 Der er 5 kommentarer og
2 løsninger

replace (sikkert simpel)

Hvorfår virker dette her ikke?

Dim strTitle As String = Replace(Request.Form("strTitle"), "'", "''")

- er der en speciel syntaks iforhold til klassisk asp ?
Avatar billede simon.ulsnes Nybegynder
30. marts 2003 - 13:41 #1
Jeg tror simpelthen at du har fået placeret din Replace forkert...

Dim strTitle As String = Request.Form("strTitle").ToString().Replace("'", "''");

(tror jeg, jeg er C#'er...)

// Simon
Avatar billede odegaard Nybegynder
30. marts 2003 - 16:32 #2
Man kan skam også gøre det som crunch skriver.
Men hvis Request.Form("strTitle") er tom, er værdien så ikke null? En null-værdi kan man jo ikke lave replace på.

Når du skriver det ikke virker, ville det være MEGET rart med en beskrivelse af hvad der ikke virker. Bliver teksten ikke erstattet, eller får du en fejlmeddelelse (og i så fald hvilken).
Avatar billede burningice Nybegynder
30. marts 2003 - 16:45 #3
simon.ulsnes>> desværre ;) VB er noget mere "klodset" end det :(

odegaard>> hørt... der er ikke noget værre end når folk kommer herind og spørger hvorfor at deres nylavede kaffe ikke smager som den plejer.
Avatar billede crunch Nybegynder
30. marts 2003 - 18:18 #4
ups. I har vist ret med hensyn til at jeg skulle specificere lidt nærmere. Men altså jeg fik det til at virke, men ikke optimalt. Altså:

Dim objConn As New OleDbConnection(strConn)
Dim strSQL As String = "UPDATE tbl SET strTitle = '" + Replace(Request("txtTitle"), "'", "''") + "' WHERE id=" + Id + ";"
Dim objCmd As New OleDbCommand(strSQL, objConn)
objConn.Open()
objCmd.ExecuteNonQuery()
objConn.Close()

vil kunne escape en enkelt ' men hvis jeg f.eks. laver 3 lige ved siden af hinanden som ''' går det helt i ged, efter et par gange..
Avatar billede crunch Nybegynder
30. marts 2003 - 18:22 #5
men tak for jeres forsøg på at hjælpe. Finder på noget andet at replace med.
Avatar billede burningice Nybegynder
30. marts 2003 - 19:19 #6
crunch>> bruger man ikke & i vb ?

Dim strSQL As String = "UPDATE tbl SET strTitle = '"& Replace(Request("txtTitle"), "'", "''") &"' WHERE id="& Id &";"
Avatar billede odegaard Nybegynder
30. marts 2003 - 19:44 #7
cyberfessor: VB er ikke så konsekvent :-)

Crunch: lige et par kommentarer på sidelinjen...
Hvorfor kalder du ikke tekstbox-objektets text-property istedet for request-objektet? (dvs. (txtTitle.Text). Eller du bruger måske ikke postback? I så fald ville jeg anbefale dig at gøre dette, da det giver en masse spændende muligheder. Derudover er det heller ingen dårlig idé at trimme brugerinputs så du slipper for start og slut-mellemrum: Trim(Request("txtTitle"))

Derudover kan jeg ikke forstå hvorfor tre apostroffer skulle give problemer. Dette skulle blot medføre at der bliver dannet 6 apostroffer.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester