| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | 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
 
 
 
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |