24. august 2004 - 14:21 
												Der er
									11  kommentarer													og 					1  løsning									 
									
		 
		
			
Opdater indhold 
			Hey all. Jeg skal opdatere noget brugerinfo, i forbindelse med et community jeg roder med.  Brugeren har en session("id") med sig. <% Set Connect = Server.CreateObject("ADODB.Connection") Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("data/databasen.mdb") Set rs = Server.CreateObject("ADODB.Recordset") SQL = "SELECT * FROM user where id='"&session("id")&"'" rs.Open SQL, Connect, 3, 3  if request.QueryString("action")="update" then rs("password") = request.form("password") rs("signature")=request.form("signature") rs.update response.Redirect "index.asp" end if %> <form name="edit" method="post" action="edit.asp?action=update"> <br> <%=rs("username")%><br> <br> Password:<br> <input type="text" name="password" value="<%=rs("password")%>"><br> Signatur:<br> <input type="text" name="signature" value="<%=rs("signature")%>"> <br><br> <input type="submit" name="Submit" value="Update"> </form> -- Det eneste jeg får er denne fejl: Microsoft OLE DB Provider for ODBC Drivers error '80040e07'  [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.  edit.asp, 14 (line rs.Open SQL, Connect, 3, 3) Jeg kan ikke finde fejlen. Plz hjælp :)
					
		
	 
Annonceindlæg tema 
 
Forsvar & beredskab 
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
 
 
	
		
								
					
				24. august 2004 - 14:30  
				#1 
						
		 
		
			Paste linie 14? Men ellers kommer den fejl normalt hvis du fx. prøver at sætte tekst ind i et tal felt, eller hvis du mangler ping ( ' ) rundt om tekst input
		
		
	 
	
		
								
					
				24. august 2004 - 14:39  
				#2 
						
		 
		
			Har pasted linien edit.asp, 14 (line rs.Open SQL, Connect, 3, 3) - Jeg er åben for muligheder hvis der er nemmere eller andre måder at opdatere de felter på..
		
		
	 
	
		
								
					
				24. august 2004 - 14:43  
				#3 
						
		 
		
			Skal bruge linien lige over den så, linie 13 tak :) Altså, jeg opdatere altid sådan her (den gode gamle måde ;) StrSQL = "UPDATE Tabel SET FELT = 'VÆRDI'" objconn.execute(StrSQL)
		
		
	 
	
		
								
					
				24. august 2004 - 14:45  
				#4 
			 				 
						
		 
		
			Prøv sådan: SQL = "SELECT * FROM user where id="&session("id") id er sikkert et tal, hvorfor der ikke skal ' omkring.
		
		
	 
	
		
								
					
				24. august 2004 - 14:48  
				#5 
						
		 
		
			Det er ikke i udtræk den melder fejl, men i indsættelse fennec..
		
		
	 
	
	
	
		
								
					
				24. august 2004 - 14:49  
				#6 
						
		 
		
			Desuden, melder den ikke fejl hvis der er ping om tal :) Det eneste område hvor den er specielt sensitiv over ' om tal, er ved sammenligning og sammenlægninger
		
		
	 
	
		
								
					
				24. august 2004 - 15:00  
				#7 
						
		 
		
			fennec's løsning virkede..  Men tak for hjælpen ellers locturian.. fennec svar for point :)
		
		
	 
	
		
								
					
				24. august 2004 - 15:02  
				#8 
						
		 
		
			goddammit - det var da utroligt... nå, der overså man lige noget... :)
		
		
	 
	
		
								
					
				24. august 2004 - 15:03  
				#9 
			 				 
						
		 
		
			locturian >> Prøv lige at tjekke hvordan der bliver indsat. Det er den gode gamle "select resultat" også updatere (jeg ville også hellere bruge "update ....") linje 14 er "rs.Open SQL, Connect, 3, 3" Altså gik jeg ud fra at det er "select" sætningen der er problemet.
		
		
	 
	
		
								
					
				24. august 2004 - 15:06  
				#10 
						
		 
		
			Ja, rigtigt, mig der var lidt hurtig på aftrækkeren... sorry
		
		
	 
	
		
								
					
				24. august 2004 - 15:09  
				#11 
			 				 
						
		 
		
			... Nu vi er inde på det, så vil jeg, lige som locturian, anbefale at du bruger den "rigtige" update metode. Du sparer mange resursekrafter på den måde, da du kun laver et kald til databasen.  Dette burde gøre det samme: <% Set Connect = Server.CreateObject("ADODB.Connection") Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("data/databasen.mdb") if request.QueryString("action")="update" then   Connect.execute("update user set password='"& request.form("password")  &"', signature='"& request.form("signature") &"'")   response.Redirect "index.asp" end if set rs = Connect.execute("SELECT * FROM user where id="&session("id")) %> <form name="edit" method="post" action="edit.asp?action=update"> <br> <%=rs("username")%><br> <br> Password:<br> <input type="text" name="password" value="<%=rs("password")%>"><br> Signatur:<br> <input type="text" name="signature" value="<%=rs("signature")%>"> <br><br> <input type="submit" name="Submit" value="Update"> </form>
		
		
	 
	
		
								
					
				24. august 2004 - 15:10  
				#12 
			 				 
						
		 
		
			Connect.execute("update user set password='"& request.form("password") &"', signature='"& request.form("signature") &"'") Der var lige kommet et linjeskift ind hvor det ikke skulle være :o)
		
		
	 
	
		
	
		
		
		
			
			Kurser inden for grundlæggende programmering