13. juli 2002 - 23:35
Der er
4 kommentarer og 1 løsning
form til søgning i database
Hvordan "submitter" man en form's værdier, så den tager værdierne fra de enkelte tekstboxe, og kan bruge dem som wildcard ved en søgning i en database? Jeg havde tænkt mig at sætte værdierne først, etablere forbindelse med databasen, og derefter søge efter de to wildcards. Eksempel: side med form'en: <html> <%@ page language="java" import="java.sql.*" %> <head> <title>Untitled</title> </head> <body> <table><tr><td> søg efter navn<br> <table><tr><td><form action="search.jsp" method="post"> <input type="text" name="navn" id="navn" value=""> <input type="submit" name="submit" id="submit" value="submit"> </form></td></tr></table> </td> <td> </td> </td></tr></table> </body> </html> side med databasenforbindelsen: <BODY> <% String navn = request.getParameter("navn"); //her starter kaldet til databasen Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection myConn = DriverManager.getConnection("Jdbc:Odbc:dennis","",""); Statement stmt = myConn.createStatement(); ResultSet myResultSet = stmt.executeQuery("select * from oplysninger where navn like '%navn%'"); if(myResultSet !=null) { while(myResultSet.next()) { ....---> osv. resten er ikke vigtig, skriver kun data fra databasen til tabel.
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Lukket, med komplimenter til de deltagende... ;)
Ok, jeg har faktisk selv lavet søgningen komplet og det virker, men når jeg prøver at implementer Disky's DbHandler går det galt, hvor jeg får en fejl, med status: jeg skal huske at slutte <jsp:useBean>, men hvor, ved jeg ikke, nogen??? Min søgning ser således ud: <%@page language="java" import="java.sql.*,java.util.*, disky.*" session="true" isErrorPage="false" %> <jsp:useBean id="db" class="DbHandler" scope="session"/> </jsp:useBean> <HTML> <HEAD> <TITLE>list alt i databasen</TITLE> </HEAD> <link rel="stylesheet" href="css.css" type="text/css"> <BODY> <% String name = request.getParameter("name"); String color = request.getParameter("color"); ResultSet myResultSet = db.doQuery("select * from oplysninger where navn = '" + name + "' AND farve = '" + color + "'"); if(myResultSet !=null) { while(myResultSet.next()) { String incassonummer = myResultSet.getString("incassonummer"); String start = myResultSet.getString("start"); String afsluttet = myResultSet.getString("afsluttet"); String faktura = myResultSet.getString("faktura"); String kunde = myResultSet.getString("kunde"); String registreringsnummer = myResultSet.getString("registreringsnummer"); String maerke = myResultSet.getString("maerke"); String farve = myResultSet.getString("farve"); String aargang = myResultSet.getString("aargang"); String navn = myResultSet.getString("navn"); String personnummer = myResultSet.getString("personnummer"); String adresse = myResultSet.getString("adresse"); String telefonnummer = myResultSet.getString("telefonnummer"); String restance = myResultSet.getString("restance"); String forsikring = myResultSet.getString("forsikring"); %> <!-- tabel --> <table border="1" width="80%" align="center"> <tr><td> <!-- tabel --> <table border="1"> <tr> <td width="10%" align="left">incassonummer</td><br> <td width="10%" align="left">start</td> <td width="10%" align="left">afsluttet</td> <td width="10%" align="left">faktura</td> <td width="10%" align="left">kunde</td><br> </tr> <tr> <td width="10%" align="left"> <%= kunde %> </td> <td width="10%" align="left"><%= incassonummer %></td> <td width="10%" align="left"><%= start %></td> <td width="10%" align="left"><%= afsluttet %> </td> <td width="10%" align="left"><%= faktura %></td> </tr> </table> <!-- tabel --> <table border="1"> <tr> <td width="10%" align="left">Registreringsnummer</td><br> <td width="10%" align="left">Mærke</td> <td width="10%" align="left">Farve</td> <td width="10%" align="left">Årgang</td> </tr> <tr> <td width="10%" align="left"> <%= registreringsnummer %> </td> <td width="10%" align="left"><%= maerke %></td> <td width="10%" align="left"><%= farve %></td> <td width="10%" align="left"><%= aargang %> </td> </tr> </table> <!-- tabel --> <table border="1"> <tr> <td width="10%" align="left">Navn</td><br> <td width="10%" align="left">Personnummer</td> </tr> <tr> <td width="10%" align="left"> <%= navn %> </td> <td width="10%" align="left"><%= personnummer %></td> </tr> </table> <!-- tabel --> <table border="1"> <tr> <td width="10%" align="left">Adresse</td><br> </tr> <tr> <td width="10%" align="left"> <%= adresse %> </td> </tr> </table> <!-- tabel --> <table border="1"> <tr> <td width="10%" align="left">Telefonnummer</td><br> <td width="10%" align="left">Restance</td> <td width="10%" align="left">forsikring</td> </tr> <tr> <td width="10%" align="left"> <%= telefonnummer %> </td> <td width="10%" align="left"><%= restance %></td> <td width="10%" align="left"><%= forsikring %></td> </tr> </table> </td></tr> <!--slut hele tabel --> </table> <br><br> <hr width="100%" size="2"> <% } } /*stmt.close(); myConn.close(); */ %> </table> </BODY> </HTML>
Ok, nu har jeg fået lukket min useBean, men jeg får ikke liste data fra databasen???
Fandt selv ud af det. Her er et eksempel: <%@page language="java" import="java.sql.*,java.util.*, disky.*" session="true" isErrorPage="false" %> <jsp:useBean id="db" class="disky.DbHandler" scope="session"/> <HTML> <HEAD> <TITLE>guestbookinfo.jsp</TITLE> </HEAD> <BODY> <% String formadr = request.getParameter("formadr"); db.open("sun.jdbc.odbc.JdbcOdbcDriver","jdbc:odbc:dennis","",""); ResultSet myResultSet = db.doQuery("SELECT * FROM oplysninger WHERE adresse = '" + formadr + "'"); if(myResultSet !=null) { while(myResultSet.next()) { String kunde = myResultSet.getString("kunde"); String incassonummer = myResultSet.getString("incassonummer"); String start = myResultSet.getString("start"); String afsluttet = myResultSet.getString("afsluttet"); String faktura = myResultSet.getString("faktura"); String registreringsnummer = myResultSet.getString("registreringsnummer"); String maerke = myResultSet.getString("maerke"); String farve = myResultSet.getString("farve"); String aargang = myResultSet.getString("aargang"); String navn = myResultSet.getString("navn"); String personnummer = myResultSet.getString("personnummer"); String adresse = myResultSet.getString("adresse"); String telefonnummer = myResultSet.getString("telefonnummer"); String restance = myResultSet.getString("restance"); String forsikring = myResultSet.getString("forsikring"); %> <table border="1"> <td width="10%" align="left"> <%= kunde %> </td> <td width="10%" align="left"><%= incassonummer %></td> <td width="10%" align="left"><%= start %></td> <td width="10%" align="left"><%= afsluttet %> </td> <td width="10%" align="left"><%= faktura %></td> </tr> </table> <table border="1"> <tr> <td width="10%" align="left">Registreringsnummer</td><br> <td width="10%" align="left">Mærke</td> <td width="10%" align="left">Farve</td> <td width="10%" align="left">Årgang</td> </tr> <tr> <td width="10%" align="left"> <%= registreringsnummer %> </td> <td width="10%" align="left"><%= maerke %></td> <td width="10%" align="left"><%= farve %></td> <td width="10%" align="left"><%= aargang %> </td> </tr> </table> <table border="1"> <tr> <td width="10%" align="left">Navn</td><br> <td width="10%" align="left">Personnummer</td> </tr> <tr> <td width="10%" align="left"> <%= navn %> </td> <td width="10%" align="left"><%= personnummer %></td> </tr> </table> <table border="1"> <tr> <td width="10%" align="left">Adresse</td><br> </tr> <tr> <td width="10%" align="left"> <%= adresse %> </td> </tr> </table> <table border="1"> <tr> <td width="10%" align="left">Telefonnummer</td><br> <td width="10%" align="left">Restance</td> <td width="10%" align="left">forsikring</td> </tr> <tr> <td width="10%" align="left"> <%= telefonnummer %> </td> <td width="10%" align="left"><%= restance %></td> <td width="10%" align="left"><%= forsikring %></td> </tr> </td></tr> </table> </table> <br><br> <hr width="100%" size="2"> <% }db.close(); } out.print(formadr); %> </BODY> </HTML>
Kurser inden for grundlæggende programmering