Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.List;
- import java.sql.*;
- public class MaleAndmebaasSql {
- Connection conn;
- public static void main(String[] args) throws Exception {
- // seda meetodit automaattest ei puutu, seega siin võid teha ükskõik milliseid muudatusi
- Class.forName("org.h2.Driver");
- MaleAndmebaasSql db = new MaleAndmebaasSql(
- "jdbc:h2:tcp://localhost/C:\\Users\\katri\\Documents\\2018\\java\\javakodu5\\male\\male");
- System.out.println(db.turniiriOsalejad("Kolme klubi kohtumine"));
- System.out.println(db.isikuPunktisummaTurniiril("Henno", "Hiis", "Kolme klubi kohtumine"));
- }
- public MaleAndmebaasSql(String andmebaasiUrl) throws SQLException {
- Connection conn = DriverManager.getConnection(
- "jdbc:h2:tcp://localhost/C:\\Users\\katri\\Documents\\2018\\java\\javakodu5\\male\\male");
- }
- public List<String> turniiriOsalejad(String turniiriNimi) throws SQLException {
- // Meetod peab tagastama listi näidatud turniiril osalejate nimedega
- // (eesnimi ja perekonnanimi tühikuga kokku ühendatuna ning kasvavalt järjestatuna).
- // Kui sellise nimega turniiri andmebaasis pole, siis tuleb tagastada tühi list.
- // Kasuta siin konstruktoris salvestatud Connection objekti
- // ja loo sobiva päringuga PreparedStatement.
- List<String> eesperenimed = new ArrayList<>();
- try {
- PreparedStatement stmt1 = conn.prepareStatement("select distinct eesnimi || ' ' || perenimi from partiid, turniirid \n " +
- "join isikud on turniirid.id = partiid.turniir AND (isikud.id=partiid.must OR isikud.id=partiid.valge) where turniirid.nimetus= ? order by eesnimi || ' ' || perenimi ASC");
- stmt1.setString(1,turniiriNimi);
- ResultSet rs = stmt1.executeQuery();
- while (rs.next()) {
- String täisnimi = (rs.getString(1));
- eesperenimed.add(täisnimi);
- }
- rs.close();
- stmt1.close();
- return eesperenimed;
- }
- catch (SQLException e) {
- return eesperenimed;
- }
- }
- public double isikuPunktisummaTurniiril(String eesnimi, String perenimi,
- String turniiriNimi) throws SQLException {
- // Tagasta näidatud isiku punktisumma näidatud turniiril.
- try {PreparedStatement stmt2 = conn.prepareStatement("select SUM(partiid.Musta_tulemus)/2.0 AND turniirid, isikud \n" +
- "JOIN partiid ON (isikud.id=partiid.must OR isikud.id=partiid.valge WHERE isikud.eesnimi=? AND isikud.perenimi=? AND turniirid.nimetus=?");
- stmt2.setString(1,eesnimi);
- stmt2.setString(2,perenimi);
- stmt2.setString(3,turniiriNimi);
- ResultSet rs = stmt2.executeQuery();
- //PreparedStatement stmt2 0 conn.prepareStatement();
- //stmt2.setDouble(1);
- double punktisumma = rs.getDouble(1);
- return punktisumma;
- }
- catch (SQLException e) {
- return 0;
- }
- // Punktisumma on tema partiide tulemuste summa jagatuna kahega.
- // Ära unusta, et isik võis mängida nii valgete kui mustadega!
- // Kui sellise nimega turniiril polnud sellise nimega osalejat,
- // (või kui sellise nimega turniiri ei leidu)
- // siis peab meetod tagastama 0.
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement