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.
*
*/
@Override
public boolean tallennaUusi() {
private boolean tallennaUusi() {
try (Connection tietokanta = Tietokanta.haeYhteys()) {
PreparedStatement stmt = tietokanta.prepareStatement("INSERT INTO asiakkaat (nimi, osoite, " +
"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
*/
@Override
public boolean päivitäTietokantaan() {
private boolean päivitäTietokantaan() {
try (Connection tietokanta = Tietokanta.haeYhteys()) {
PreparedStatement stmt = tietokanta.prepareStatement("UPDATE asiakkaat set nimi = ?, osoite = ?, " +
"maanantaiKpl = ?, tiistaiKpl = ?, keskiviikkoKpl = ?, torstaiKpl = ?, perjantaiKpl = ?, lauantaiKpl = ?, sunnuntaiKpl = ?, salaatit = ?, pääruoat = ?, jälkiruoat = ?, " +
@@ -86,8 +86,7 @@ public class Kierros implements TietokantaOlio {
}
@Override
public boolean tallennaUusi() {
private boolean tallennaUusi() {
try (Connection tietokanta = Tietokanta.haeYhteys()) {
PreparedStatement stmt = tietokanta.prepareStatement("insert into kierrokset (kierrosNumero, asiakkaat) values (?, ?)", Statement.RETURN_GENERATED_KEYS);
stmt.setInt(1, kierrosNumero);
@@ -114,8 +113,7 @@ public class Kierros implements TietokantaOlio {
return true;
}
@Override
public boolean päivitäTietokantaan() {
private boolean päivitäTietokantaan() {
try (Connection tietokanta = Tietokanta.haeYhteys()) {
PreparedStatement stmt = tietokanta.prepareStatement("update kierrokset set asiakkaat = ?, kierrosnumero = ? where id = ?");
stmt.setString(1, muutaAsiakkaatMerkkijonoksi());
@@ -103,8 +103,7 @@ public class Kuljetus implements TietokantaOlio {
}
}
@Override
public boolean tallennaUusi() {
private boolean tallennaUusi() {
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);
stmt.setInt(1, asiakasID);
@@ -139,8 +138,7 @@ public class Kuljetus implements TietokantaOlio {
return true;
}
@Override
public boolean päivitäTietokantaan() {
private boolean päivitäTietokantaan() {
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 = ?");
stmt.setInt(1, asiakasID);
@@ -1,12 +1,16 @@
package fi.lpam.dataluokat;
public interface TietokantaOlio {
/**
* Tallentaa joko uuden, tai päivittää olemassa olevaa riviä
* @return onnistuiko operaatio
*/
boolean tallenna();
boolean tallennaUusi();
boolean päivitäTietokantaan();
/**
* Poistaa kutsuvan olion rivin tietokannasta
* @return onnistuiko operaatio
*/
boolean poista();
boolean tallenna();
}
+1 -7
View File
@@ -7,7 +7,6 @@ import fi.lpam.gui.elementit.TabPohja;
import fi.lpam.Main;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.geometry.Side;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.image.Image;
@@ -298,12 +297,7 @@ public class AsiakasIkkuna extends Stage {
int maxYritykset = 3;
int yritykset = 0;
while (!läpi) {
if (käsiteltäväAsiakas.getId() > 0) {
läpi = käsiteltäväAsiakas.päivitäTietokantaan();
}
else {
läpi = käsiteltäväAsiakas.tallennaUusi();
}
läpi = käsiteltäväAsiakas.tallenna();
yritykset++;
if (yritykset > maxYritykset) {
break;
@@ -192,11 +192,7 @@ public class KuljetusListat extends TabPohja {
private void tallennaKierros() {
try {
for (Kuljetus kuljetus : tableView.getItems()) {
if (kuljetus.getId() > 0) {
kuljetus.päivitäTietokantaan();
} else {
kuljetus.tallennaUusi();
}
kuljetus.tallenna();
}
tallennusStatus.setText("Tallennettu: Kyllä");
btnTulosta.setDisable(false);