/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hvorfor vil den ikke fjerne '
Fra : Dcasso


Dato : 07-08-03 00:47

Hejsa

Jeg skal sende en insert-sql statement til en MsSQL og det går galt.

I koden har jeg bl.a. følgende
Fornavn = replace(replace(request.form("Fornavn"),"'",""),"""","")
(......)
SQLstmt = "INSERT INTO tbl_Bestillinger (Fornavn,Efternavn"
SQLstmt2 = ") VALUES ('" & Fornavn & "','" & Efternavn & "'"
<-- De bliver selvf. sat sammen til sidst.

Mit problem er at jeg får en fejlbesked der skyldes at ' bliver
overført til selve sql strengen.

Hvordan kan det være?

mvh
Dennis

 
 
Ole Nilsson (07-08-2003)
Kommentar
Fra : Ole Nilsson


Dato : 07-08-03 13:07

Dcasso wrote in dk.edb.internet.webdesign.serverside.asp:
> Hejsa
>
> Jeg skal sende en insert-sql statement til en MsSQL og det går galt.
>
> I koden har jeg bl.a. følgende
> Fornavn = replace(replace(request.form("Fornavn"),"'",""),"""","")
> (......)
> SQLstmt = "INSERT INTO tbl_Bestillinger (Fornavn,Efternavn"
> SQLstmt2 = ") VALUES ('" & Fornavn & "','" & Efternavn & "'"
> <-- De bliver selvf. sat sammen til sidst.
>
> Mit problem er at jeg får en fejlbesked der skyldes at ' bliver
> overført til selve sql strengen.
>
> Hvordan kan det være?
>
> mvh
> Dennis

Tror du har en replace for meget.

Nielsson


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Dcasso (07-08-2003)
Kommentar
Fra : Dcasso


Dato : 07-08-03 16:53

>Tror du har en replace for meget.

Skulle nu passe, en for enkelt quote og en for dobbelt quote

mvh
Dennis

Chrisser (07-08-2003)
Kommentar
Fra : Chrisser


Dato : 07-08-03 13:23

Dcasso wrote:
> Hejsa
>
> Jeg skal sende en insert-sql statement til en MsSQL og det går galt.
>
> I koden har jeg bl.a. følgende
> Fornavn = replace(replace(request.form("Fornavn"),"'",""),"""","")
> (......)

Kan du ikke prøve at skille de to replace ad og derefter udskrive Fornavn
før, mellem og efter ?

Umiddelbart synes jeg også det er underligt at erstatte fire dobbelte
anførselstegn med to af samme slags, hvorfor gør du det ?

Chrisser



Dcasso (07-08-2003)
Kommentar
Fra : Dcasso


Dato : 07-08-03 16:52

Selvf. lidt simpel debugging, burde jeg have foretaget mig.

Men når man bliver tilpas "gal", så tænker man ikke altid lige klart
:)

mvh
Dennis

On Thu, 7 Aug 2003 14:23:16 +0200, "Chrisser" <cbj@egdatainform.dk>
wrote:

>Dcasso wrote:
>> Hejsa
>>
>> Jeg skal sende en insert-sql statement til en MsSQL og det går galt.
>>
>> I koden har jeg bl.a. følgende
>> Fornavn = replace(replace(request.form("Fornavn"),"'",""),"""","")
>> (......)
>
>Kan du ikke prøve at skille de to replace ad og derefter udskrive Fornavn
>før, mellem og efter ?
>
>Umiddelbart synes jeg også det er underligt at erstatte fire dobbelte
>anførselstegn med to af samme slags, hvorfor gør du det ?
>
>Chrisser
>


Dcasso (07-08-2003)
Kommentar
Fra : Dcasso


Dato : 07-08-03 17:01

>Umiddelbart synes jeg også det er underligt at erstatte fire dobbelte
>anførselstegn med to af samme slags, hvorfor gør du det ?

Lige ang dette, så er det fordi at jeg jo skal bruge en string som den
skal lede efter, altså ml. " og ", og da jeg leder efter " i teksten
skal jeg bruge to af dem for at den jo ved, at jeg leder efter den som
værdi.

Jeg replacer den med 2 stk., da det er en tom string, således at de
ikke gemmes fremover.

mvh
Dennis

Thomas Due (07-08-2003)
Kommentar
Fra : Thomas Due


Dato : 07-08-03 13:32

Dcasso wrote:

> Hejsa
>
> Jeg skal sende en insert-sql statement til en MsSQL og det går galt.
>
> I koden har jeg bl.a. følgende
> Fornavn = replace(replace(request.form("Fornavn"),"'",""),"""","")
> (......)
> SQLstmt = "INSERT INTO tbl_Bestillinger (Fornavn,Efternavn"
> SQLstmt2 = ") VALUES ('" & Fornavn & "','" & Efternavn & "'"
> <-- De bliver selvf. sat sammen til sidst.
>
> Mit problem er at jeg får en fejlbesked der skyldes at ' bliver
> overført til selve sql strengen.
>
> Hvordan kan det være?
>
> mvh
> Dennis

Hv is jeg forstår dig rigtigt vil du have escape'et evt. enkelte quotes
i din streng. Dette kan du gøre ved at bruge følgende funktion:

Function QuotedStr(AString)
if AString <> "" then
QuotedStr = "'" + Replace(AString, "'", "''") + "'"
else
QuotedStr = "''"
end if
End Function

Det som funktionen gør, er ganske enkelt at sætte to ' (enkelte quotes)
alle steder hvor der er en i strengen. Til sidst sættes en enkelt quote
foran og bagefter strengen.

--
Thomas Due
Software Developer
Scanvaegt Nordic A/S

Dcasso (07-08-2003)
Kommentar
Fra : Dcasso


Dato : 07-08-03 16:52

Hej

Det forsøge jeg også først :) Men det ville den ikke finde sig i,
derfor forsøgte jeg at fjerne dem, og det gør den ikke.

Har gjort det så mange gange før, så det irriterer mig ganske meget :)

Men tak for forslaget (virker normalt)

mvh
Dennis

On Thu, 7 Aug 2003 12:31:54 +0000 (UTC), "Thomas Due"
<t.due@scanvaegt_REMOVE.dk> wrote:

>Dcasso wrote:
>
>> Hejsa
>>
>> Jeg skal sende en insert-sql statement til en MsSQL og det går galt.
>>
>> I koden har jeg bl.a. følgende
>> Fornavn = replace(replace(request.form("Fornavn"),"'",""),"""","")
>> (......)
>> SQLstmt = "INSERT INTO tbl_Bestillinger (Fornavn,Efternavn"
>> SQLstmt2 = ") VALUES ('" & Fornavn & "','" & Efternavn & "'"
>> <-- De bliver selvf. sat sammen til sidst.
>>
>> Mit problem er at jeg får en fejlbesked der skyldes at ' bliver
>> overført til selve sql strengen.
>>
>> Hvordan kan det være?
>>
>> mvh
>> Dennis
>
>Hv is jeg forstår dig rigtigt vil du have escape'et evt. enkelte quotes
>i din streng. Dette kan du gøre ved at bruge følgende funktion:
>
>Function QuotedStr(AString)
> if AString <> "" then
> QuotedStr = "'" + Replace(AString, "'", "''") + "'"
> else
> QuotedStr = "''"
> end if
>End Function
>
>Det som funktionen gør, er ganske enkelt at sætte to ' (enkelte quotes)
>alle steder hvor der er en i strengen. Til sidst sættes en enkelt quote
>foran og bagefter strengen.


Dcasso (07-08-2003)
Kommentar
Fra : Dcasso


Dato : 07-08-03 17:12

Lige en opfølgning:

Her er et eksempel på hvor det går galt:

INSERT INTO tbl_Bestillinger
(Fornavn,Efternavn,Linie,Rushold,Telefon,Email,Adresse,Sted,Postnr)
VALUES
('fsdf','jkflsdd','HA','HA_1-2','dksjahd','jkldjfl@jklasdf.com','dsfslja','sdfksj','sdfjkælsdfjkl')
Microsoft OLE DB Provider for SQL Server error '80040e14'

Line 1: Incorrect syntax near 'jkflsdd'.


Værdien ved fornavn var oprindeligt fsdf', men hvordan kan det ikke
virke, når den jo i sql stmt indsætter den korrekte udgave

mvh
Dennis

Ukendt (07-08-2003)
Kommentar
Fra : Ukendt


Dato : 07-08-03 21:11

Hvis du tester på din ejen comp med en server du har sat op på den så prøv
at genstarte der kan godt være nogle gange hvor den ikke vil forstå den
rigtige kode


"Dcasso" <ikke@oplyst_pga_spam.dk> skrev i en meddelelse
news:leu4jvs819h4avv34njkgv7h6umr1aotf2@4ax.com...
> Lige en opfølgning:
>
> Her er et eksempel på hvor det går galt:
>
> INSERT INTO tbl_Bestillinger
> (Fornavn,Efternavn,Linie,Rushold,Telefon,Email,Adresse,Sted,Postnr)
> VALUES
>
('fsdf','jkflsdd','HA','HA_1-2','dksjahd','jkldjfl@jklasdf.com','dsfslja','s
dfksj','sdfjkælsdfjkl')
> Microsoft OLE DB Provider for SQL Server error '80040e14'
>
> Line 1: Incorrect syntax near 'jkflsdd'.
>
>
> Værdien ved fornavn var oprindeligt fsdf', men hvordan kan det ikke
> virke, når den jo i sql stmt indsætter den korrekte udgave
>
> mvh
> Dennis



Chrisser (08-08-2003)
Kommentar
Fra : Chrisser


Dato : 08-08-03 07:44

Dcasso wrote:
> Lige en opfølgning:
>
> Her er et eksempel på hvor det går galt:
>
> INSERT INTO tbl_Bestillinger
> (Fornavn,Efternavn,Linie,Rushold,Telefon,Email,Adresse,Sted,Postnr)
> VALUES
>
('fsdf','jkflsdd','HA','HA_1-2','dksjahd','jkldjfl@jklasdf.com','dsfslja','s
dfksj','sdfjkælsdfjkl')
> Microsoft OLE DB Provider for SQL Server error '80040e14'
>
> Line 1: Incorrect syntax near 'jkflsdd'.

Den ser jo OK ud.
Din sql bliver ikke forkert ombrudt i selve koden ? Hvordan sætter du den
sammen i ASP'en ?

Chrisser




Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste