Avatar billede kledal Nybegynder
18. februar 2003 - 11:35 Der er 10 kommentarer og
1 løsning

tekst opfattes forkert!!

Jeg indsætter noget tekst i min MS SQL database. feltet er et "ntext"-felt.
Når jeg i min tekstbox skriver noget med ' (apostrof) opfattes det af min ASP kode som afslutningen af feltet

min insert ser sådan ud
SQL = "INSERT INTO trin1("                SQL = SQL + "trin_1_dato,cs_nr,betegnelse,kode_nr,batch_lot,"
                SQL = SQL + "indkoebs_nr,modtage_dato,andet,afv_beskrivelse,"
                SQL = SQL + "afv_aarsag,afv_afhjaelpes,afhj_begrundelse,dato_isolation,"
                SQL = SQL + "isoleret,trin_1_version,"
                SQL = SQL + "trin_1_status,godkendt_af,id,rakonsekvens,ratekst,ratekstref"
                SQL = SQL + ") VALUES("
                SQL = SQL + "'"& date &"','"& varCs_nr &"','"& varBetegnelse &"','"& varKode_nr &"','"& varBatch_lot &"',"
                SQL = SQL + "'"& varIndkoebs_nr &"','"& varModtage_dato &"','"& varAndet &"','"& varAfv_beskrivelse &"',"
                SQL = SQL + "'"& varAfv_aarsag &"','"& varAfv_afhjaelpes &"','"& varAfhj_begrundelse &"','"& varDato_isolation &"',"
                SQL = SQL + "'"& varIsoleret &"','1',"
                SQL = SQL + "'venter','','"& varadgangsid &"','"& varrakonsekvens &"','"& varratekst &"','"& varratekstref &"')"
                ObjConn.Execute(SQL)

problemet er at der i feltet varAfv_beskrivelse bliver indsat en apostrof, hvad kan man gøre for at den ikke bliver opfattet som ASP-kode????
Avatar billede erikjacobsen Ekspert
18. februar 2003 - 11:39 #1
SQL = SQL + "'"& varIndkoebs_nr &"','"& varModtage_dato &"','"& varAndet &"','"& replace(varAfv_beskrivelse,"'","''") &"',"
Avatar billede mortvader Nybegynder
18. februar 2003 - 11:40 #2
ObjConn.Execute(replace(SQL,"'","''"))
Avatar billede vb-mo Nybegynder
18. februar 2003 - 11:42 #3
Brug denne funktion :
Function ChkString(string)
  If string = "" then string = " "
  ChkString = Replace(string, "'", "''")
End Function

Og så sætter du blot ChkString foran de felter hvor du vil tjekke for '

ChkString(Request.form("Data"))

Så virker det

/vb-mo
Avatar billede kledal Nybegynder
18. februar 2003 - 12:52 #4
helt præcis hvorfor skulle jeg ønske at skifte min ene apostrof ud med 2 apostrofer. Det gør bare at det opfattes som et felt for sig selv, hvilket gør at informationen ikke bliver indsat i DB'en p.g.a. for mange felter!!
Avatar billede kledal Nybegynder
18. februar 2003 - 12:56 #5
spørgsmålet gik ikke på at fjerne apostrofen, emn at gøre sådan så at DB'en opfattede apostrofen som en del at tekst-feltet og ikke som en del af ASP-koden!!!!
Avatar billede erikjacobsen Ekspert
18. februar 2003 - 12:59 #6
Det er netop løsningen :)
Avatar billede vb-mo Nybegynder
18. februar 2003 - 13:13 #7
Det er jo oxo det den funktion gør :o) Den sørger for at ' bliver indsat og ikke slettet :o)
Avatar billede kledal Nybegynder
18. februar 2003 - 13:24 #8
ja, undskyld jeg er blot dum!!
jeg prøvede mortvaders svar men det funkede ikke :-(
men jeg kan nu ikke give erikjacobsen de point han skal have, så hvis du gerne vil svare så du kan få lidt points :-)
mvh kledal
Avatar billede erikjacobsen Ekspert
18. februar 2003 - 13:58 #9
Nej tak, ingen points til mig. mortvader erstatter alle '-er i strengen
med 2 stk - og det dur naturligvis ikke.
Avatar billede kledal Nybegynder
18. februar 2003 - 14:32 #10
hvorfor vil du dog ikke have point??
Avatar billede kledal Nybegynder
26. marts 2003 - 08:17 #11
lukker spørgsmålet
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
Kurser inden for grundlæggende programmering

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