hallo,
ik heb de volgende codes:
hier maak ik mijn database connectie aan, en in het volgende klasse de DB operaties:
hoe kan ik nu vanuit een nieuw klasse de select methode oproepen en laten uitvoeren en de connect aanroepen van de database (deze hoef ik toch niet in elke klasse opnieuw helemaal aan te maken??)? Hier kom ik na extreem veel zoeken, lezen, proberen echt niet uit, hulp wordt gewaardeerd ....
ik heb de volgende codes:
Code:
import java.sql.*;
public class Database {
public static void main(String[] args) {
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mynewdatabase", "root", "");
if(!con.isClosed())
System.out.println("Successfully connected to KLAPSTUK...");
} catch(Exception e) {
System.err.println("Exception: " + e.getMessage());
} finally {
try {
if(con != null)
con.close();
} catch(SQLException e) {}
}
}
Connection connect() {
return null;
}
}
hier maak ik mijn database connectie aan, en in het volgende klasse de DB operaties:
Code:
import java.sql.*;
public class LedenDB extends Leden
implements DatabaseOperaties {
public void insert() {
PreparedStatement pstmt;
try {
pstmt = con.prepareStatement("INSERT INTO LEDEN VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
pstmt.setInt (1, getLidnummer());
pstmt.setString (2, getNaam());
pstmt.setString (3, getStraat());
pstmt.setInt (4, getHuisnummer());
pstmt.setString (5, getPostcode());
pstmt.setString (6, getPlaats());
pstmt.setString (7, getEmail_adres());
pstmt.setInt (8, getTelnummer());
pstmt.setDate (9, (java.sql.Date) getStart_lidmaatschap());
int x = pstmt.executeUpdate();
pstmt.close();
} catch (SQLException eSql) {
System.out.println("Fout bij insert in database");
}
}
public void update() {
PreparedStatement pstmt;
try {
pstmt = con.prepareStatement("UPDATE LEDEN set naam = ?, straat = ?, huisnummer = ?, postcode = ?, plaats = ?, email_adres = ?, telnummer = ?, start_lidmaatschap = ?, WHERE lidnummer = ?");
pstmt.setInt (9, getLidnummer());
pstmt.setString (1, getNaam());
pstmt.setString (2, getStraat());
pstmt.setInt (3, getHuisnummer());
pstmt.setString (4, getPostcode());
pstmt.setString (5, getPlaats());
pstmt.setString (6, getEmail_adres());
pstmt.setInt (7, getTelnummer());
pstmt.setDate (8, (java.sql.Date) getStart_lidmaatschap());
int x = pstmt.executeUpdate();
pstmt.close();
} catch (SQLException eSql) {
System.out.println("Fout bij update in database");
}
}
public void delete(){
PreparedStatement pstmt;
try {
pstmt = con.prepareStatement("DELETE FROM LEDEN WHERE lidnummer = ?");
pstmt.setInt(1, getLidnummer());
int x = pstmt.executeUpdate();
pstmt.close();
} catch (SQLException eSql){
System.out.println("Fout bij delete in database");
}
}
public static LedenDB select(String lcode) {
LedenDB l = new LedenDB();
PreparedStatement pstmt;
ResultSet resultaat;
try {
pstmt = con.prepareStatement("SELECT * FROM LEDEN WHERE lidnummer = ?");
pstmt.setString(1, lcode);
resultaat = pstmt.executeQuery();
while (resultaat.next()) {
l.setLidnummer(resultaat.getInt("lidnummer"));
l.setNaam(resultaat.getString("naam"));
l.setStraat(resultaat.getString("straat"));
l.setHuisnummer(resultaat.getInt("huisnummer"));
l.setPostcode(resultaat.getString("postcode"));
l.setPlaats(resultaat.getString("plaats"));
l.setEmail_adres(resultaat.getString("Email_adres"));
l.setTelnummer(resultaat.getInt("telnummer"));
l.setStart_lidmaatschap(resultaat.getDate("start_lidmaatschap"));
}
} catch (SQLException eSql) {
System.out.println("Fout bij select in database");
}
return l;
}
}
Laatst bewerkt: