Käyttöliittymä ei enään välitä tallentaako se uutta vai jo olemassa olevaa tietokantaoliota

This commit is contained in:
2026-06-03 21:06:59 +03:00
parent 00267ebe72
commit ede75c8692
6 changed files with 17 additions and 29 deletions
@@ -205,8 +205,7 @@ public class Asiakas implements TietokantaOlio {
* Tallentaa uuden asiakkaan tietokantaan. Tietokanta luo automaattisesti id:n asiakkaalle. * Tallentaa uuden asiakkaan tietokantaan. Tietokanta luo automaattisesti id:n asiakkaalle.
* *
*/ */
@Override private boolean tallennaUusi() {
public boolean tallennaUusi() {
try (Connection tietokanta = Tietokanta.haeYhteys()) { try (Connection tietokanta = Tietokanta.haeYhteys()) {
PreparedStatement stmt = tietokanta.prepareStatement("INSERT INTO asiakkaat (nimi, osoite, " + PreparedStatement stmt = tietokanta.prepareStatement("INSERT INTO asiakkaat (nimi, osoite, " +
"maanantaiKpl, tiistaiKpl, keskiviikkoKpl, torstaiKpl, perjantaiKpl, lauantaiKpl, sunnuntaiKpl, salaatit, pääruoat, jälkiruoat, " + "maanantaiKpl, tiistaiKpl, keskiviikkoKpl, torstaiKpl, perjantaiKpl, lauantaiKpl, sunnuntaiKpl, salaatit, pääruoat, jälkiruoat, " +
@@ -268,8 +267,7 @@ public class Asiakas implements TietokantaOlio {
/** /**
* Päivittää kutsuvan asiakkaan tiedot tietokantaan * Päivittää kutsuvan asiakkaan tiedot tietokantaan
*/ */
@Override private boolean päivitäTietokantaan() {
public boolean päivitäTietokantaan() {
try (Connection tietokanta = Tietokanta.haeYhteys()) { try (Connection tietokanta = Tietokanta.haeYhteys()) {
PreparedStatement stmt = tietokanta.prepareStatement("UPDATE asiakkaat set nimi = ?, osoite = ?, " + PreparedStatement stmt = tietokanta.prepareStatement("UPDATE asiakkaat set nimi = ?, osoite = ?, " +
"maanantaiKpl = ?, tiistaiKpl = ?, keskiviikkoKpl = ?, torstaiKpl = ?, perjantaiKpl = ?, lauantaiKpl = ?, sunnuntaiKpl = ?, salaatit = ?, pääruoat = ?, jälkiruoat = ?, " + "maanantaiKpl = ?, tiistaiKpl = ?, keskiviikkoKpl = ?, torstaiKpl = ?, perjantaiKpl = ?, lauantaiKpl = ?, sunnuntaiKpl = ?, salaatit = ?, pääruoat = ?, jälkiruoat = ?, " +
@@ -86,8 +86,7 @@ public class Kierros implements TietokantaOlio {
} }
@Override private boolean tallennaUusi() {
public boolean tallennaUusi() {
try (Connection tietokanta = Tietokanta.haeYhteys()) { try (Connection tietokanta = Tietokanta.haeYhteys()) {
PreparedStatement stmt = tietokanta.prepareStatement("insert into kierrokset (kierrosNumero, asiakkaat) values (?, ?)", Statement.RETURN_GENERATED_KEYS); PreparedStatement stmt = tietokanta.prepareStatement("insert into kierrokset (kierrosNumero, asiakkaat) values (?, ?)", Statement.RETURN_GENERATED_KEYS);
stmt.setInt(1, kierrosNumero); stmt.setInt(1, kierrosNumero);
@@ -114,8 +113,7 @@ public class Kierros implements TietokantaOlio {
return true; return true;
} }
@Override private boolean päivitäTietokantaan() {
public boolean päivitäTietokantaan() {
try (Connection tietokanta = Tietokanta.haeYhteys()) { try (Connection tietokanta = Tietokanta.haeYhteys()) {
PreparedStatement stmt = tietokanta.prepareStatement("update kierrokset set asiakkaat = ?, kierrosnumero = ? where id = ?"); PreparedStatement stmt = tietokanta.prepareStatement("update kierrokset set asiakkaat = ?, kierrosnumero = ? where id = ?");
stmt.setString(1, muutaAsiakkaatMerkkijonoksi()); stmt.setString(1, muutaAsiakkaatMerkkijonoksi());
@@ -103,8 +103,7 @@ public class Kuljetus implements TietokantaOlio {
} }
} }
@Override private boolean tallennaUusi() {
public boolean tallennaUusi() {
try (Connection tietokanta = Tietokanta.haeYhteys()) { try (Connection tietokanta = Tietokanta.haeYhteys()) {
PreparedStatement stmt = tietokanta.prepareStatement("INSERT INTO kuljetukset (asiakasID, nimi, kuljetusPäivämäärä, kuljetusKierros, tyyppi, salaatit, pääruoat, jälkiruoat, ruokarajoite, osoite, avainTieto, lisätieto) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", Statement.RETURN_GENERATED_KEYS); PreparedStatement stmt = tietokanta.prepareStatement("INSERT INTO kuljetukset (asiakasID, nimi, kuljetusPäivämäärä, kuljetusKierros, tyyppi, salaatit, pääruoat, jälkiruoat, ruokarajoite, osoite, avainTieto, lisätieto) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", Statement.RETURN_GENERATED_KEYS);
stmt.setInt(1, asiakasID); stmt.setInt(1, asiakasID);
@@ -139,8 +138,7 @@ public class Kuljetus implements TietokantaOlio {
return true; return true;
} }
@Override private boolean päivitäTietokantaan() {
public boolean päivitäTietokantaan() {
try (Connection tietokanta = Tietokanta.haeYhteys()) { try (Connection tietokanta = Tietokanta.haeYhteys()) {
PreparedStatement stmt = tietokanta.prepareStatement("UPDATE kuljetukset set asiakasID = ?, nimi = ?, kuljetusPäivämäärä = ?, kuljetusKierros = ?, tyyppi = ?, salaatit = ?, pääruoat = ?, jälkiruoat = ?, ruokarajoite = ?, osoite = ?, avainTieto = ?, lisätieto = ? WHERE id = ?"); PreparedStatement stmt = tietokanta.prepareStatement("UPDATE kuljetukset set asiakasID = ?, nimi = ?, kuljetusPäivämäärä = ?, kuljetusKierros = ?, tyyppi = ?, salaatit = ?, pääruoat = ?, jälkiruoat = ?, ruokarajoite = ?, osoite = ?, avainTieto = ?, lisätieto = ? WHERE id = ?");
stmt.setInt(1, asiakasID); stmt.setInt(1, asiakasID);
@@ -1,12 +1,16 @@
package fi.lpam.dataluokat; package fi.lpam.dataluokat;
public interface TietokantaOlio { public interface TietokantaOlio {
/**
* Tallentaa joko uuden, tai päivittää olemassa olevaa riviä
* @return onnistuiko operaatio
*/
boolean tallenna();
boolean tallennaUusi(); /**
* Poistaa kutsuvan olion rivin tietokannasta
boolean päivitäTietokantaan(); * @return onnistuiko operaatio
*/
boolean poista(); boolean poista();
boolean tallenna();
} }
+1 -7
View File
@@ -7,7 +7,6 @@ import fi.lpam.gui.elementit.TabPohja;
import fi.lpam.Main; import fi.lpam.Main;
import javafx.geometry.Insets; import javafx.geometry.Insets;
import javafx.geometry.Pos; import javafx.geometry.Pos;
import javafx.geometry.Side;
import javafx.scene.Scene; import javafx.scene.Scene;
import javafx.scene.control.*; import javafx.scene.control.*;
import javafx.scene.image.Image; import javafx.scene.image.Image;
@@ -298,12 +297,7 @@ public class AsiakasIkkuna extends Stage {
int maxYritykset = 3; int maxYritykset = 3;
int yritykset = 0; int yritykset = 0;
while (!läpi) { while (!läpi) {
if (käsiteltäväAsiakas.getId() > 0) { läpi = käsiteltäväAsiakas.tallenna();
läpi = käsiteltäväAsiakas.päivitäTietokantaan();
}
else {
läpi = käsiteltäväAsiakas.tallennaUusi();
}
yritykset++; yritykset++;
if (yritykset > maxYritykset) { if (yritykset > maxYritykset) {
break; break;
@@ -192,11 +192,7 @@ public class KuljetusListat extends TabPohja {
private void tallennaKierros() { private void tallennaKierros() {
try { try {
for (Kuljetus kuljetus : tableView.getItems()) { for (Kuljetus kuljetus : tableView.getItems()) {
if (kuljetus.getId() > 0) { kuljetus.tallenna();
kuljetus.päivitäTietokantaan();
} else {
kuljetus.tallennaUusi();
}
} }
tallennusStatus.setText("Tallennettu: Kyllä"); tallennusStatus.setText("Tallennettu: Kyllä");
btnTulosta.setDisable(false); btnTulosta.setDisable(false);