Angående opretning af opbject i servlet med 2 Resultset
Jeg har en bog der indeholder følgende konstruktørerpublic bog(int isbn, String forfatter, String titel, String forlag, String beskrivelse, int genreId) {
this.isbn = isbn;
this.forfatter = forfatter;
this.titel = titel;
this.forlag = forlag;
this.beskrivelse = beskrivelse;
this.genreId = genreId;
}
public bog(int isbn, String forfatter, String titel, String forlag, String beskrivelse, String genre) {
this.isbn = isbn;
this.forfatter = forfatter;
this.titel = titel;
this.forlag = forlag;
this.beskrivelse = beskrivelse;
this.genre = genre;
}
Probmet er at når jeg opretter en ny af en af disse opbjekter ok tilføjer dem et array, kan jeg kun få noget frem hvis jeg bruger følgende konstruktør
public bog(int isbn, String forfatter, String titel, String forlag, String beskrivelse, int genreId) {
this.isbn = isbn;
this.forfatter = forfatter;
this.titel = titel;
this.forlag = forlag;
this.beskrivelse = beskrivelse;
this.genreId = genreId;
}
Grunden til dette er nok at alle de data bliver hentet fra samme tabel i databasen med dette ResultSet
ResultSet rs = stmt.executeQuery("SELECT isbn, forfatter, titel, forlag, beskrivelse, genreid FROM boeger WHERE isbn = '" + isbnIn + "'");
Hernæst oprretter jeg alle de bøger der bliver fundet og ligger dem i et array og sender dem vidrer til en jsp side der så viser dem. Dette virker fint. Kode følger
ArrayList showBook = new ArrayList();
while(rs.next()) {
showBook.add(new bog(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getInt(6)));
Problmet er at i tabellen ligger der et genreId der refererer til en bestemt genre, derfor ønsker jeg at oprette en bog med denne konstruktør
public bog(int isbn, String forfatter, String titel, String forlag, String beskrivelse, String genre) {
this.isbn = isbn;
this.forfatter = forfatter;
this.titel = titel;
this.forlag = forlag;
this.beskrivelse = beskrivelse;
this.genre = genre;
}
Hertil ville jeg bruge følgende Resultset
ResultSet rs = stmt.executeQuery("SELECT isbn, forfatter, titel, forlag, beskrivelse FROM boeger WHERE isbn = '" + isbnIn + "' AND select navn from genre WHERE id = '" + genreId + "' ");
Hernædt bruger jeg en anden konstruktør der så skulle oprette bøgerne bare med et navn som genre istedet for et nummer(id)
ArrayList showBook = new ArrayList();
while(rs.next()) {
showBook.add(new bog(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6)));
Dette virker umiddelbart ikke, den viser ikke nogele resultater i jsp side, som den gjorde ved den første konstruktør.
Nogle der kan hjælpe? Bare sprørg efter kode, dette er kun et udsnit
