Just nu i M3-nätverket
Jump to content

Jämföra data i databasen och ett formulär.


nette

Recommended Posts

Hej!

 

Jag är helt nybörjare på det här med VBScript och behöver lite hjälp av någon kunnig.

 

Jag försöker hämfta information från min accessdatabas under förutsättning att det password som anges i formuläret är detsamma som passwordet i databasen men:

det fungerar inte. Misstänker att jag inte skriver koden exakt rätt. Så här ser det ut:

 

Dim rs	
Set rs = objConn.Execute("SELECT * FROM personal WHERE password = " & _ 
	Request.Form("password"))

 

När jag uppdaterar asp-sidan får jag följande felmeddelande:

 

 

[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck.

 

 

/Nette

 

 

 

 

Link to comment
Share on other sites

Du kan prova:

 

Dim rs

Set rs = objConn.Execute("SELECT * FROM personal WHERE password = '" & Request.Form("password") & "')

 

eller

 

password = Request.Form("password")

 

Set rs = objConn.Execute("SELECT * FROM personal WHERE password = " & password & ")

 

 

 

 

 

 

[inlägget ändrat 2003-03-27 18:25:19 av Mr Orange]

Link to comment
Share on other sites

Okey, har testat men får följande felmeddelande då:

 

Kompileringsfel i Microsoft VBScript fel '800a0409'

 

Oavslutad strängkonstant

 

 

/Nette

 

Link to comment
Share on other sites

Om "password" är en sträng i databasen så måste du ha apostrofer runt värdet i SQL-satsen.

 

Alltså:

Set rs = objConn.Execute("SELECT * FROM personal WHERE password = [color="#ff0000"]'[/color]" & Request.Form("password") [color="#ff0000"]& "'"[/color])

 

Fast, den koden är osäker för att man kan "bryta sig ur" SQL-satsen, så du borde göra följande:

 

dim password
' hämta lösenordet, men ta bort alla apostrofer
password = replace(Request.Form("password"),"'","")

Set rs = objConn.Execute("SELECT * FROM personal WHERE password = '" & password & "'")

 

Ciao,

Anders

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...