Avatar billede bodhisatva Nybegynder
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.
Avatar billede r9 Nybegynder
14. juli 2002 - 11:44 #1
bodhisatva:

du har et spørgsmål fra d. 23/5: http://www.eksperten.dk/spm/215340

Lukker du det ikke lige først.
Avatar billede bodhisatva Nybegynder
17. juli 2002 - 16:59 #2
Lukket, med komplimenter til de deltagende... ;)
Avatar billede bodhisatva Nybegynder
18. juli 2002 - 21:37 #3
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>
Avatar billede bodhisatva Nybegynder
18. juli 2002 - 22:08 #4
Ok, nu har jeg fået lukket min useBean, men jeg får ikke liste data fra databasen???
Avatar billede bodhisatva Nybegynder
31. juli 2002 - 20:40 #5
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>
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