Avatar billede kheu_uou Nybegynder
27. august 2001 - 22:09 Der er 15 kommentarer

database query

hvorfor får jeg den her fejl?
Error Type:
ADODB.Field (0x800A0BCD)
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/test/logged_in.asp, line 24

koden er her nedenunder

<%@ Language=\"VBSCRIPT\" %>
<!--#include file=\"protect.inc\"-->
<% Response.buffer = True %>
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};  DBQ=C:\\Inetpub\\db\\nyheder.mdb\"
%>
<html>
<head>
<title>udtræk af billede fra database</title>
<link rel=\"stylesheet\" href=\"nyheder.css\">
</head>
<body text=\"#000000\" LINK=\"#1E3364\" VLINK=\"#475063\" ALINK=\"#1E3364\" topmargin=\"0\" leftmargin=\"0\" bgproperties=\"fixed\" class=\"text\">
<br>
<center>
<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td class=\"text\"><b><a href=\"indtast.asp\">Opret ny historie</a>  <a href=\"search.asp\">Søg</a></b><br></td>
<tr>
<%
user = Request.Form(\"Brugernavn\")
strSQL = \"SELECT * FROM Users WHERE Username=\'%\"&user&\"%\'\"
set rs = Conn.Execute(strSQL)
Avatar billede keysersoze Ekspert
27. august 2001 - 22:19 #1
hvad står \"user\" for?
Avatar billede medions Nybegynder
27. august 2001 - 22:46 #2
Hmm.... prøv med

Username LIKE \'%\" & user & \"%\'
Avatar billede medions Nybegynder
27. august 2001 - 22:49 #3
=> keysersoze
user er det som variablen hedder, -variablen bliver lavet lige ovenover SQL-sætningen!

Variablen user bliver sat til at requeste formen \"brugernavn\"
Avatar billede netsrac Praktikant
27. august 2001 - 22:54 #4
strSQL = \"SELECT * FROM Users WHERE Username=\'\"&user&\"\'\"
Avatar billede keysersoze Ekspert
27. august 2001 - 22:54 #5
hov - havde ikke set at det kom derfra...

men jeg tvivler på at medions løsning hjælper - det lyder mere som om at du søger efter noget som ikke findes - altså fx det der kommer til at stå som username
Avatar billede netsrac Praktikant
27. august 2001 - 22:55 #6
Brug da aldrig like ved nøjagtige udtræk, så kan du få netsrac frem ved blot at taste n
Avatar billede webbe Nybegynder
28. august 2001 - 08:41 #7
strSQL = \"SELECT * FROM USERS WHERE USERNAME=\'\"&user&\"\'\" (som netsrac skrev)

Det vil være den korrekte måde da brugernavn jo er en tekst-streng!

Brug evt. denne - så undgår du at skulle dimensionere user som variabel:

strSQL = \"SELECT * FROM Users WHERE Username=\'\"&request.form(\"brugernavn\")&\"\'\"

Det er egentlig det samme, men blot skrevet på en anden måde! ;o)
Avatar billede slapstick Nybegynder
28. august 2001 - 10:32 #8
hey det er mig der fået en ven til at poste spørgsmålet for mig
har prøvet de forskellige ting
SQL = \"SELECT * FROM Users WHERE Username =\'\"&user&\"\'\"
og
SQL = \"SELECT * FROM Users WHERE Username=\'\"&request.form(\"brugernavn\")&\"\'\"
kommer ikke ud med den bof eof fejl
MEN !!
den spytter heller ikke noget ud på siden selvom jeg ved basen ikke er tom
eksemplet ligger her http://193.89.248.81/test/login.asp
login/pass der kan test/test bruges
her kommer hele koden så...

<%@ Language=\"VBSCRIPT\" %>
<!--#include file=\"protect.inc\"-->
<% Response.buffer = True %>
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};  DBQ=C:\\Inetpub\\db\\nyheder.mdb\"
%>
<html>
<head>
<title>logged in.....</title>
<link rel=\"stylesheet\" href=\"nyheder.css\">
</head>
<body text=\"#000000\" LINK=\"#1E3364\" VLINK=\"#475063\" ALINK=\"#1E3364\" topmargin=\"0\" leftmargin=\"0\"

bgproperties=\"fixed\" class=\"text\">
<br>
<center>
<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td class=\"text\"><b><a href=\"indtast.asp\">Opret ny historie</a>  <a href=\"search.asp\">Søg</a></b><br></td>
<tr>
<%
SQL = \"SELECT * FROM Users WHERE Username=\'\"&request.form(\"brugernavn\")&\"\'\"
\'SQL = \"SELECT * FROM Users WHERE Username =\'\"&user&\"\'\"
set rs = Conn.Execute(SQL)
do until rs.eof
response.write rs(\"brugernavn\")
response.write rs(\"fb\")
response.write rs(\"email\")
response.write \"<br>\"
\'response.write \"<tr><td class=\'text\' width=\'200\' align=\'top\'><b><a href=\'nyheder.asp?id=\" & rs(\"billedid\") & \"\'>\"

&  rs(\"overskrift\") & \"</a><br> <a href=\'opdater.asp?id=\" & rs(\"billedid\") & \"\'>Opdater</a> <a href=\'slet.asp?id=\"

& rs(\"billedid\") & \"\'> Slet</a><br><br><b></td></tr>\"
rs.Movenext
loop

%>




</table>
</center>
</body>
</html>

<%
Conn.Close
Set Conn = Nothing
%>
Avatar billede webbe Nybegynder
28. august 2001 - 10:41 #9
Indeholder din user-tabel både overskrift og billede???

For som din kode er nu, så vil du hente overskrift og billede fra user-tabellen!

Det virker ikke specielt logisk at opbygge en user-tabel på den måde! ;0)
Avatar billede slapstick Nybegynder
28. august 2001 - 10:45 #10
eeh nej den der linie er remarked væk
det er til en anden sql streng der skal komme bagefter
Avatar billede slapstick Nybegynder
28. august 2001 - 11:08 #11
her er koden uden de remarkede linier

<%@ Language=\"VBSCRIPT\" %>
<!--#include file=\"protect.inc\"-->
<% Response.buffer = True %>
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};  DBQ=C:\\Inetpub\\db\\nyheder.mdb\"
%>
<html>
<head>
<title>logged in.....</title>
<link rel=\"stylesheet\" href=\"nyheder.css\">
</head>
<body text=\"#000000\" LINK=\"#1E3364\" VLINK=\"#475063\" ALINK=\"#1E3364\" topmargin=\"0\" leftmargin=\"0\" bgproperties=\"fixed\" class=\"text\">
<br>
<center>
<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td class=\"text\"><b><a href=\"indtast.asp\">Opret ny historie</a>  <a href=\"search.asp\">Søg</a></b><br></td>
<tr>
<%
SQL = \"SELECT * FROM Users WHERE Username=\'\"&request.form(\"brugernavn\")&\"\'\"
set rs = Conn.Execute(SQL)
do until rs.eof
response.write rs(\"brugernavn\")
response.write rs(\"fb\")
response.write rs(\"email\")
response.write \"<br>\"
rs.Movenext
loop
%>
</table>
</center>
</body>
</html>
<%
Conn.Close
Set Conn = Nothing
%>
Avatar billede slapstick Nybegynder
28. august 2001 - 11:28 #12
en lille rettelse...
brug klixbull/stimpski som login pass
Avatar billede nanosoft Nybegynder
28. august 2001 - 16:26 #13
\'------ Sql Query --------------
    Set objRS = Server.CreateObject(\"ADODB.Recordset\")
        objRS.CursorType = adOpenStatic
        objRS.ActiveConnection = objConn
        strQ = \"SELECT * FROM Users where Username = \'\" & Username & \"\' ORDER BY UserID;\"
        objRS.Open strQ

    if objRS.EOF = True then
      \'Username is InCorrect
        strError = \"InCorrect Input\"
    else
        if Password = objRS(\"Userpass\") then
            Response.Redirect \"index.asp\"
        else
                \'Password is InCorrect   
        end if
    end if

dette bruger jeg selv.... ingen problemer!
evt. proev at testeden direkte i access, ved at oprette en forespoergsel, oeverst til venstre lige under files kan du vaelge \"design\", \"table\" eller \"SQL\"
indsaet din sql streng der og du kan se hvad den spytter ud!
Avatar billede nanosoft Nybegynder
28. august 2001 - 16:30 #14
hvad staar der i din login.asp?
da det ser ud til at den virker??

jeg plejer at henter UserID ind i en session ogsaa senere referere til denne naar jeg henter data om brugeren!
Avatar billede keysersoze Ekspert
23. november 2001 - 10:04 #15
??????????
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