RinaldoMedlem sedan mars 20014 214 inlägg Jag har frågat flera gånger om denna sak men inget svar har funkar, Nu ska jag göra en vädligt utförligt förklaring.
Jag har en hemsida där olika användare kan logga in. När de är inloggade kan de slriva in info om sig själva. Denna info hamnar i "Info" i databasen.
Tabellen heter Users och ser ut ungefär så här:
********************************
* Username * Info *
********************************
* *
Här ligger * Här lagras *
användarnamnet * info om anv-*
* ändaren. *
********************************
När en besökare sedan kommer till en sida som handlar om denna användare (denna är inte inloggad på något sätt)
ska den kunna se info om användaren.
Jag vill alltså hämta det som står i Info hos användaren med hjälp av Användarnamnet.
Notera att det finns flera fält med annan info som är privata så man måste på något sätt hämta bara "Info" spalten hos rätt användare.
Nu måste det ändå vara förståligt. Jag tar gärna emot all kod, ifall det skulle vara nåt fel på databas kopplingen eller nåt annat.
slurkenMedlem sedan juni 200152 inlägg nåt i stil med
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq="databas.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
strSQL="SELECT username,info FROM tabellnamn WHERE username='" & Request("användare") & "'"
RecSet.Open strSQL, Connect
Om du ska skriva ut det
<%=recset("info")%>
RecSet.Close
hoppas att det hjälpte
------------------
jag är inte där du är
mySQL = "SELECT info,username FROM userTable WHERE username = '" & Request.QueryString("username") & "'"
Set objRS = objConn.Execute(mySQL)
Response.Write objRS("info")
r: Stavfel ;) :e
------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda
[Redigerat av Rossifumi den 08 jun 2001]
RinaldoMedlem sedan mars 20014 214 inlägg Om jag lägger in koden säger den "Slut på programsats förväntas". Vad kan det bero på och hus ska jag skriva?
@ndersMedlem sedan juni 200032 969 inlägg rossifumi har råkat få in ett citationstecken på fel ställe.
prova denna som sql-fråga istället:
mySQL = "SELECT info,username FROM userTable WHERE username = '" & Request.QueryString("username") & "'"
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
EclipseMedlem sedan juli 20003 825 inlägg Utgå från att den länk som ska genereras ska se ut något i stil med view.asp?ID=123
* hämta data.
* skriv ut relevant info.
SQL = "SELECT * FROM [users] WHERE [x_ID] = " & request("ID")
set mySQL = Conn.Execute(SQL)
response.write mySQL("x_name")
response.write mySQL("x_name")
response.write mySQL("x_name")
response.write mySQL("x_name")
response.write mySQL("x_name")
response.write mySQL("x_name")
Alt. 2
response.write mySQL("x_name") & "<BR>" & vbCRLF
Alt. 3
response.write "Namn: " & mySQL("x_name") & "<BR>" & vbCRLF
are you with!?
------------------
I sometimes wish I was famous.
RinaldoMedlem sedan mars 20014 214 inlägg Om jag flyttar runt lite så allt ser ut att sämma säger den:
ADODB.Field fel '80020009'
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.
?
EclipseMedlem sedan juli 20003 825 inlägg Öva dig på att missbruka copy/paste och kolla bara poster efter deras ID nummer och inget annat.
Sen kan du använda denna koden på alla dina sidor.
' ## ERRORHANDLING
' ## CHECK FOR FALSE ID, NOT IN THE DATABASE
IF mySQL.EOF THEN
Conn.close
set Conn = nothing
response.redirect "index.asp"
END IF
------------------
I sometimes wish I was famous.
[Redigerat av Eclipse den 08 jun 2001]
EclipseMedlem sedan juli 20003 825 inlägg Precis! :-)
------------------
I sometimes wish I was famous.
RinaldoMedlem sedan mars 20014 214 inlägg Kan nån kolla vad det är för fel på denna kod.
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\asp\databas\databas.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
strSQL="SELECT username,info FROM users WHERE username='" & Request("niklas") & "'"
RecSet.Open strSQL, Connect
%>
<%=recset("info")%>
<%connect.close%>
________________________________________
Nu får jag felmeddelandet:
ADODB.Field fel '80020009'
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.
?
LarsGMedlem sedan dec. 200012 464 inlägg Det finns ingen post som uppfyller det villkor du ställer. Man kan lägga in en check så att man inte får det felet
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\asp\databas\databas.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
strSQL="SELECT username,info FROM users WHERE username='" & Request("niklas") & "'"
RecSet.Open strSQL, Connect
if not recset.eof then
response.write recset("info")
else
response.write "inget hittades "
end if
recset.close
connect.close
%>
Anledningen till att det inte blir någon träff kan vara flera. Stämmer det att fältet heter niclas. Du kan ju kontrollera att din sql-sträng ser ok ut innan du öppnar recordsetet genom att lägga till en utskrift av strängen
strSQL="SELECT username,info FROM users WHERE username='" & Request("niklas") & "'"
response.write "sqlStr = " & sqlStr & "<br>"
RecSet.Open strSQL, Connect
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 09 jun 2001]
EclipseMedlem sedan juli 20003 825 inlägg request("niklas")
Se över den raden...
Borde vara request("username"). Annars kan du ju lika gärna lägga ner det där med databaser och göra femtielva statiska sidor! :-)
------------------
I sometimes wish I was famous.
RinaldoMedlem sedan mars 20014 214 inlägg Ni kan kolla själva på hela databasen och på koden på:
<a href="http://w1.873.telia.com/\~u87313134/visa.html">http://w1.873.telia.com/\~u87313134/visa.html\</a>
Allting borde stämma. Måste jag kanske ha någon anna kod för att hämta infon?
RinaldoMedlem sedan mars 20014 214 inlägg Glömde att man inte får använda HTML.
Här är länken.
http://w1.873.telia.com/\~u87313134/visa.
html
</url>
@ndersMedlem sedan juni 200032 969 inlägg det enda jag kan tänka mig (det ser rätt ut), är att Request("niklas") inte innehåller något.
kolla gärna detta med response.write strSQL innan du kör execute.
heter verkligen formulärfältet niklas?
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
RinaldoMedlem sedan mars 20014 214 inlägg ¨Det heter inte det men värdet i det är niklas, precis som det står på sidan jag länkade till ovan.