22. maj 2003 - 17:48Der er
32 kommentarer og 1 løsning
Søg fra Access database
Jeg vil gerne lave en søgning fra en ACCESS db med 4 poster. cd, nr, titel, artist ....
Jeg har prøvet med en guide i en af mine ASP bøger, men kan sQ ikke få det til at virke. Kan I give mig et eksempel. Jeg vil gerne have resultatet vist i listeform. og der er kun ét søgefelt.
SQL = "Select cd, nr, titel, artist FROM tabelnavn" Set rs = Conn.Execute(SQL)
If Not(rs.bof or rs.EOF) Then Do while not rs.eof%> <li><%=rs("nr")%>. <%=rs("artist")%> - <%=rs("cd")%> - <%=rs("nr")%> </li> <%rs.movenext loop End If
SQL = "Select cd, nr, titel, artist FROM tabelnavn WHERE cd LIKE '"& ord &"' OR nr LIKE '"& ord &"' OR artist LIKE '"& ord &"' or titel LIKE '"& ord &"'" Set rs = Conn.Execute(SQL)
If Not(rs.bof or rs.EOF) Then Do while not rs.eof%> <li><%=rs("nr")%>. <%=rs("artist")%> - <%=rs("cd")%> - <%=rs("nr")%> </li> <%rs.movenext loop End If
SQL = "Select cd, nr, titel, artist FROM Karaoke WHERE cd LIKE '"& ord &"' OR nr LIKE '"& ord &"'
OR artist LIKE '"& ord &"' or titel LIKE '"& ord &"'" Set rs = Conn.Execute(SQL)
If Not(rs.bof or rs.EOF) Then Do while not rs.eof%> <li><%=rs("nr")%>. <%=rs("artist")%> - <%=rs("cd")%> - <%=rs("nr")%> </li> <%rs.movenext loop End If
din kollega? og så overtager du bare hans spørgsmål? virker mig nu lidt suspekt - husk at man ikke må have dobbeltbrugere!
Grunden til at siden er tom er at søgeresultatet er tomt - fejlen du/i snakker om kan jeg ikke få frem...
men du/i har ikke brugt tutorial'en særligt godt. For at få noget reel effekt ud af at benytte LIKE i en sql så er det en god idé at lave det som en wildcard søgning - dvs der skal benytte procent-tegn i sql;
SQL = "SELECT * FROM tabel WHERE kolonne LIKE '%" & ord & "%' or andenkolonne LIKE '%" & ord & "%'"
så det er det første der skal ændres... den fejl der opstår - hvad står der i den?
prøv nu engang først og fremmest at lav den ændring jeg siger... og fortæl mig samtidig hvad i søger på når der meldes fejl og hvilken fejl der meldes...
SQL = "SELECT * FROM Karaoke WHERE titel LIKE '%" & ord & "%' or artist LIKE '%" & ord & "%'"
Set rs = Conn.Execute(SQL)
If Not(rs.bof or rs.EOF) Then Do while not rs.eof%> <li><%=rs("nr")%>. <%=rs("artist")%> - <%=rs("cd")%> - <%=rs("nr")%> </li> <%rs.movenext loop End If
SQL = "SELECT * FROM Karaoke WHERE titel LIKE '%" & ord & "%' or artist LIKE '%" & ord & "%'"
Set rs = Conn.Execute(SQL)
If Not(rs.bof or rs.EOF) Then Do while not rs.eof response.write "der blev fundet resultater i søgningen" %> <li><%=rs("nr")%>. <%=rs("artist")%> - <%=rs("cd")%> - <%=rs("nr")%> </li> <%rs.movenext loop else response.write "der blev ikke fundet noget" End If
og nu kan jeg se hvorfor - det har absolut intet med asp at gøre men ganske almindeligt html... du/i kan ikke benytte request.form når i sender formen vha method="get"
enten skal method="post" eller også skal der bruges request.querystring
kan du se dette? Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0xca0 Thread 0xcc0 DBC 0xb290044 Jet'.
Okay... jeg har en connect.asp fil som i hvert fald virker... bruger den andre steder på siden. Kan jeg ikke bare smide den ind et eller andet sted ? (include)
og pas lige på en anden gang - du/i kan meget let ligne én og samme bruger...
Synes godt om
Ny brugerNybegynder
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.