Avatar billede eromaster Nybegynder
24. februar 2002 - 14:38 Der er 10 kommentarer

søg efter og print

Jeg har en access database der hedder "settings.mdb" og i denne db er der en tabel der hedder "comments". Okay jeg har fra siden før linket videre med querystring'en f.eks. default.asp?page=comments&commentid=103

ideen er så at jeg skal have vist alle post i comments tabellen og fra den kolonne der hedder "commentid" hvor det er det samme som querystring'en. altså f.eks.

<%if request.querystring("commentid") = ("id'et fra databsen") then%>

så skal jeg kunne udskrive noget fra database, som jeg nok selv skal finde ud af... men først skal jeg lige finde ud af hvordan man finde alle posts i databasen som har det samme "commentid" som i request.querystring("commentid"). jeg skal altså have vist dem alle!
Avatar billede pfp Nybegynder
24. februar 2002 - 14:44 #1
Kan du ikke bare bruge:

varID = Request.Querystring("commentid")
SQL = "SELECT * FROM Comments WHERE commentid=" & varID

/pfp
Avatar billede eromaster Nybegynder
24. februar 2002 - 16:40 #2
ikke forstået.... hele koden tak ;)
Avatar billede eromaster Nybegynder
24. februar 2002 - 16:51 #3
hvad er der galt her?

<%
Set DataConn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)};uid=admin; "
DSN = dsn & "DBQ=" & server.mappath("db/settings.mdb")
DataConn.Open DSN
%>

<%
Set news = Server.CreateObject("ADODB.RecordSet")
brugerid = Request.Querystring("commentid")
Set news = Server.CreateObject("ADODB.RecordSet")
news.open "SELECT * FROM comments WHERE id=" & brugerid, DataConn, 1, 3
%>

<%=news("comment")%>
<br>

<%
set news = nothing
Dataconn.Close
%>
Avatar billede eromaster Nybegynder
24. februar 2002 - 16:52 #4
Error Type:
ADODB.Field (0x80020009)
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
Avatar billede pfp Nybegynder
24. februar 2002 - 18:33 #5
Den sidste error betyder at der ikke findes nogen poster der har den commentid, som du har bedt den om at finde.

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("db/settings.mdb")
Conn.Open DSN

varID = Request.Querystring("commentid")
SQL = "SELECT * FROM Comments WHERE commentid=" & varID
Set rs = Conn.Execute(SQL)
%>

<%=rs("comment")%>
<br>

<%
Set Conn = Nothing
Conn.Close
%>

Hvis der er flere med samme commentid, som skal vises samtidig skal du selvfølgelig lige køre en loop inden du udskriver din post..altså:
<%
Do While Not rs.eof
%>
<%=rs("comment")%>
<br>
<%
rs.movenext
Loop
%>

/pfp
Avatar billede eromaster Nybegynder
24. februar 2002 - 23:09 #6
har brugt denne kode:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("db/settings.mdb")
Conn.Open DSN

varID = Request.Querystring("commentid")
SQL = "SELECT * FROM Comments WHERE commentid=" & varID
Set rs = Conn.Execute(SQL)
%>

<%
Do While Not rs.eof
%>

<%=rs("comment")%>
<br>

<%
rs.movenext
Loop
%>

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/default.asp, line 270

og 270 er: Set rs = Conn.Execute(SQL)
Avatar billede excession Nybegynder
25. februar 2002 - 04:38 #7
<%
Set DataConn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)};uid=admin; "
DSN = dsn & "DBQ=" & server.mappath("db/settings.mdb")
DataConn.Open DSN
%>

Set news = Server.CreateObject("ADODB.RecordSet")
brugerid = Request.Querystring("commentid")
SQL = "SELECT * FROM Comments id=" & brugerid
news.open SQL, DataConn, 1, 3
%>


<%
Do While Not news.eof
%>

<%=news("comment")%>
<br>

<%
news.movenext
Loop
%>


<%
set news = nothing
Dataconn.Close
%>


-- xs
Avatar billede eromaster Nybegynder
26. februar 2002 - 08:10 #8
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause.
/default.asp, line 277

277 = news.open SQL, DataConn, 1, 3

Koden der er brugt:
<%
Set DataConn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)};uid=admin; "
DSN = dsn & "DBQ=" & server.mappath("db/settings.mdb")
DataConn.Open DSN


Set news = Server.CreateObject("ADODB.RecordSet")
brugerid = Request.Querystring("commentid")
SQL = "SELECT * FROM Comments id=" & brugerid
news.open SQL, DataConn, 1, 3
%>


<%
Do While Not news.eof
%>

<%=news("comment")%>
<br>

<%
news.movenext
Loop
%>


<%
set news = nothing
Dataconn.Close
%>
Avatar billede eromaster Nybegynder
27. februar 2002 - 14:50 #9
Nogen der kan svare på mit spm? mener da ikke det burde være så svært
Avatar billede excession Nybegynder
03. marts 2002 - 19:57 #10
hov det her skal lige rettes fra:

SQL = "SELECT * FROM Comments id=" & brugerid

til

SQL = "SELECT * FROM Comments WHERE id=" & brugerid

-- xs
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