Avatar billede Slettet bruger
11. august 2006 - 19:41 Der er 10 kommentarer og
1 løsning

Hvis profilen ikke findes

Hej.

Jeg er syntes det er provo at vær gang jeg laver et brugersystem for jeg denne fejl
ADODB.Field error '80020009'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/code/brugersystem/find_profile.asp, line 0

Fordi bruger ikke findes.
Hvordan gør jeg at der står brugeren kunne ikke findes.

Og et andet.
Hvordan gør jeg hvis man søger under en bruger der hedder leo i en søge funktion så skrive le at alle dem der starter med le kommer frem?
Avatar billede w13 Novice
11. august 2006 - 19:55 #1
Prøv at skrive den kode, som henter brugeren fra databasen - altså den kode, der giver fejl. =)
------------
En søgefunktion er et lidt større projekt, og jeg vil foreslå, at du opretter et nyt spørgsmål angående det.
Avatar billede Slettet bruger
11. august 2006 - 19:59 #2
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("/code/db/system.mdb")
Conn.Open DSN

strSQL = "Select * From Bruger where id='" & request.querystring("id") & "'"
Set rs = Conn.Execute(strSQL)


------------------
<%
if request.querystring("Finder") = "Sendt" then
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("/code/db/system.mdb")
Conn.Open DSN

strSQL = "Select * From Bruger where brugernavn='" & request.form("Finder") & "'"
Set rs = Conn.Execute(strSQL)
do
%>
<tr>
<td onmouseover="this.className='FOver'" onclick="location.href='Profile.asp?id=<%= rs("id") %>'" onmouseout="this.className='Out'" class="Out"><%= rs("Brugernavn") %></td>
</tr>
<%
  rs.MoveNext
Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing

else
response.write("Skriv den person du vil finde")
end if
%>
Avatar billede Slettet bruger
11. august 2006 - 20:22 #3
Der er søgefunktionen også:O=
Avatar billede thesurfer Nybegynder
11. august 2006 - 20:29 #4
if rs.bof or rs.eof then
  response.write "ingen profil"
else
  do while not rs.eof
    ' din kode
    rs.movenext
  loop
end if

Ellers vil den afvikle koden 1 gang, før den finder ud af, at der ikke er nogen poster..
Avatar billede thesurfer Nybegynder
11. august 2006 - 20:31 #5
Brug LIKE til søgningen:
brugernavn = replace(request.form("Finder"), "'", "''") ' sikkerhed

where brugernavn Like '" & brugernavn & "%'"

(mener jeg at det er)
Avatar billede thesurfer Nybegynder
11. august 2006 - 20:36 #6
Et godt råd:

Bruger aldrig brugerens input direkte i din SQL sætning.

Hvis brugeren indtastet '-tegnet, går din kode i stykker.

Erstat derfor altid '-tegnet med 2 gange '-tegn, og put værdien i en variabel.

Eksempel: brugernavn = replace(request.form("Finder"), "'", "''")
Avatar billede thesurfer Nybegynder
11. august 2006 - 20:36 #7
Jeg går ud fra, at det løser dine problemer, og lægger hermed et svar :-)
Avatar billede Slettet bruger
11. august 2006 - 20:47 #8
Søge funktionen virker ikke:'/ Min kode ser rigtig ud
<%
dim brugernavn
brugernavn = replace(request.form("Finder"), "'", "''")
if request.querystring("Finder") = "Sendt" then
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("/code/db/system.mdb")
Conn.Open DSN

strSQL = "Select * From Bruger where brugernavn Like '" & brugernavn & "'"
Set rs = Conn.Execute(strSQL)
if rs.bof or rs.eof then
response.write("Ingen bruger kunne findes")
else
  do while not rs.eof
%>
<tr>
<td onmouseover="this.className='FOver'" onclick="location.href='Profile.asp?id=<%= rs("id") %>'" onmouseout="this.className='Out'" class="Out"><%= rs("Brugernavn") %></td>
</tr>
<%
    rs.movenext
  loop
end if
Conn.Close
Set Conn = Nothing

else
response.write("Skriv den person du vil finde")
end if
%>
Avatar billede thesurfer Nybegynder
11. august 2006 - 20:58 #9
Det er da klart når du ikke bruger %-tegnet.. det skal se sådan ud:

where brugernavn Like '" & brugernavn & "%'"
Avatar billede Slettet bruger
11. august 2006 - 21:02 #10
Ok, tak troede bare det var en fejl:P
Avatar billede thesurfer Nybegynder
11. august 2006 - 21:10 #11
Hehehe.. :-)

Takker for points :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester