do 
				Nybegynder  
			 
					
				26. oktober 2001 - 09:31 
												Der er
									8  kommentarer													og 					1  løsning									 
									
		 
		
			
insætning i db 
			Jeg har lavet et script som indsætter en besked i databasen. men når jeg f.eks. skriver tegner \' i indsæt boxen får jeg fejlen : Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e14\'  [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i strengen i forespørgselsudtrykket \"\'sss\' \')\".  /busses_site/minklasse/opret.asp, linje 12 Her skrev jeg bare  sss\' og fik denne fejl..
					
		
	 
                            
Annonceindlæg fra FPT Software 
 
 
	
		
								
					
				26. oktober 2001 - 09:40  
				#1 
						
		 
		
			Kom med koden så skal jeg se 
		
		
	 
	
		
								
					
				26. oktober 2001 - 09:40  
				#2 
			 				 
						
		 
		
			Du skal konvertere en \' til 2 \' inde du skriverr til databasen. \' bruges til at omslutte strenge i SQL: str = replace(str,\"\'\",\"\'\'\")
		
		
	 
	
		
								
					
				26. oktober 2001 - 09:42  
				#3 
						
		 
		
			Hejsa Du skal bruge nedenstående: <script language=\"VBScript\" runat=\"Server\"> Function unQuote(strTekst)     strTekst = Trim(strTekst)     unQuote = Replace(strTekst,\"\'\",\"\'\'\") End Function </script> <html><head> <title>Det dumme \' tegn</title> </head><body> <% If Request.Form(\"Action\") = \"Fjern\" Then     Response.Write \"<p><em>Her er teksten med dobbelt \' tegn, dette vil blive tolket som et \' tegn af databasen.<em><p>\"     Response.Write unQuote(Request.Form(\"Tekst\")) End If %> <form action=\"quot_tegnet.asp\" method=\"POST\"> <textarea name=\"Tekst\" cols=\"40\" rows=\"10\"></textarea><br> <input type=\"Submit\" name=\"Action\" value=\"Fjern\"> </form> </body></html> Hilsner AndreasV
		
		
	 
	
		
								
				 
				do 
				Nybegynder  
			 
					
				26. oktober 2001 - 09:43  
				#4 
						
		 
		
			Jammen er det ikke bare et eller andet text = replace et eller andet ?  Her er koden : <% besked1 = Request(\"besked1\") if mode = \"opret\" then Set conn = Server.CreateObject(\"ADODB.Connection\")  connString = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"db.mdb\")  Conn.open(connString) Sql = \"INSERT INTO klassetre (besked2) values (\'\" & besked1 & \"\')\" Conn.Execute(SQL) conn.close Set Conn = Nothing %> <body onload=\"window.close()\"> <% end if %> 
		
		
	 
	
		
								
					
				26. oktober 2001 - 09:44  
				#5 
			 				 
						
		 
		
			text = replace(text ,\"\'\",\"\'\'\") 
		
		
	 
	
	
	
		
								
					
				26. oktober 2001 - 09:46  
				#6 
			 				 
						
		 
		
			Din streng hedder besked1 ... besked1 = replace(Request(\"besked1\"),\"\'\",\"\'\'\")  <% besked1 = replace(Request(\"besked1\"),\"\'\",\"\'\'\")  if mode = \"opret\" then Set conn = Server.CreateObject(\"ADODB.Connection\")  connString = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"db.mdb\")  Conn.open(connString) Sql = \"INSERT INTO klassetre (besked2) values (\'\" & besked1 & \"\')\" Conn.Execute(SQL) conn.close Set Conn = Nothing %> <body onload=\"window.close()\"> <% end if %> 
		
		
	 
	
		
								
					
				26. oktober 2001 - 09:51  
				#7 
						
		 
		
			Prøv evt.: SQL = \"INSERT INTO klassetre (besked2) values (\'\" & replace(Request(\"besked1\"),\"\'\",\"\'\'\") & \"\')\" 
		
		
	 
	
		
								
				 
				do 
				Nybegynder  
			 
					
				26. oktober 2001 - 10:06  
				#8 
						
		 
		
			Tak for det alle sammen.. Sidst nævnte fik jeg til at virke med det samme så han får pointne..
		
		
	 
	
		
								
					
				26. oktober 2001 - 10:15  
				#9 
			 				 
						
		 
		
			hmmm ikke bare 1 point for at forklare hvorfor du får og ungår fejlen :)
		
		
	 
	
		
	
		
		
		
			
			Kurser inden for grundlæggende programmering