Just nu i M3-nätverket
Gå till innehåll

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


nette

Rekommendera Poster

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

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

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]

Länk till kommentar
Dela på andra webbplatser

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

 

Kompileringsfel i Microsoft VBScript fel '800a0409'

 

Oavslutad strängkonstant

 

 

/Nette

 

Länk till kommentar
Dela på andra webbplatser

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

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...