Vad är det för fel på följande kod?. Varför kan inte namnet hittas och presenteras på sidan???? Får du felmeddelande eller är det så att det inte händer någonting? Är det inte så att request.querystring("") och request.form("") är känslig för stora och små bokstäver? Jag får felmeddelande Vet inte om det spelar någon roll, men det är rätt onödigt att ha & "" på slutet av din rad: Jag har också det problemmet men jag får inte problem när jag ska gämföra med en ID (räknare) i databasen? Det går inte att köra "like" istället för "=" när du hämtar posten ur databasen, det brukar fungera bättre för mig. Felmeddelandet försvann men den hämtar bara första posten i databasen oavsett vilket användarnamn jag använder Haj! den hämtar bara forfarande första posten i db-n Kanske... HejVarför hittas inte namnet?
<%
Dim conn
Dim rs
Dim sql
set conn = Server.CreateObject("ADODB.Connection")
conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db\login.mdb"))
sql = "SELECT namn FROM login WHERE Namn = '" & request("Namn") & "'"
set rs = conn.execute(sql)
Response.Write "Välkommen " & rs("Namn") & ""
rs.Close
%>Sv: Varför hittas inte namnet?
Några tips:
- Pröva att sätta en \ framför db.
conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\db\login.mdb"))
- Använd request.querystring("Namn") eller request.form("Namn")
- Kör en Response.Write på request.querystring("Namn") eller request.form("Namn") för att se att du verkligen får något.
- Kör en Response.Write på sql för att se att sql-satsen ser rätt ut.
- Du behöver inte den sista & "" (Ger inga fel)
/JanneSv: Varför hittas inte namnet?
Sv: Varför hittas inte namnet?
fel '80020009'
Undantag inträffade.
/welcome.asp, rad 14
Som jag ser det så är detta raden "Response.Write "Välkommen " & rs("Namn") & """ och där hittar jag inga fel. Response.Write skriver ut posten som fins i tabellen NamnSv: Varför hittas inte namnet?
Ändra:
Response.Write "Välkommen " & rs("Namn") & ""
Till:
Response.Write "Välkommen " & rs("Namn")
Samma sak fast mycket snyggare kod, kanske till och med löser ditt problem, fast det tror jag inte...
- magnusSv: Varför hittas inte namnet?
Sv: Varför hittas inte namnet?
sql = "SELECT namn FROM login WHERE Namn like'%" & request("Namn") & "%'"
Man kan prova iallafall.....
/mikeSv: Varför hittas inte namnet?
Sv: Varför hittas inte namnet?
Förmodar att du fyller i ett användarnamn i ett textfält(form)...
Testa denna...
sql = "SELECT namn FROM login WHERE namn like '%" & request.form("Namn") & "%'"
Om textfältet heter "Namn" föståss......
Det måste fungera
/mikeSv: Varför hittas inte namnet?
asp-koden:
<%
Dim conn
Dim rs
Dim sql
set conn = Server.CreateObject("ADODB.Connection")
conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db\login.mdb"))
sql = "SELECT namn FROM login WHERE Password like '%" & request.form("Namn") & "%'"
set rs = conn.execute(sql)
Response.Write "<b>Inloggad som</b> " & rs.fields(0)
Response.Write("<hr>")
rs.Close
%>
Inloggningsfältet:
<input type="password" name=Password size=10 maxlength=10>Sv: Varför hittas inte namnet?
request.form("Namn")
ändras till
request.form("password") Sv: Varför hittas inte namnet?
Heter txtrutan "Password"? Prova då:
sql = "SELECT namn FROM login WHERE Password = '" & request.form("Password") & "';"