1 svar
85 visningar
jade.20 4
Postad: 19 maj 2023 21:17

Metod för att registrera en person i databas

Hur gör jag om jag vill koda en actionPerformed metod som ska registera en person i sql databas. Jag har redan kodat knapparna i applikationen. Personen ska ha registeringsdatum och telefon nummer. Det ska även vara en kontroll så att datumet är i 2007-01-12 format. Det här har jag hittils 

public void actionPerformed(ActionEvent e) {

int datum  = JTextFieldNamn.getText();

int Telefon =  JTextFieldNamn.getText();

String query = "INSERT Alien SET telefon = '"+telefon+"', Datum = '"+Datum;

 MySQL.con.insert(query);

}









Macilaci 2116
Postad: 19 maj 2023 22:46 Redigerad: 19 maj 2023 22:47

Det är svårt att säga någonting utan att veta vilket ramverk och vilka bibliotek du använder. 

Men

1) Du uppenbarligen har skapat en klass som heter JTextFieldNamn. Namnet indikerar att denna komponent används för att mata in namnet. Om du använder denna klass för att även mata in datum och telefonnummer, bör du hitta ett bättre namn.

2) Du kan inte anropa getText() på klassen, du behöver ett objekt. Du måste ha en instruktion någonstans som skapar denna komponent:

JTextFieldNamn nameField = new JTextFieldNamn();
...

3) getText()  returnerar String och inte int

4) Ett variabelnamn ska börja med gemen, och inte med versal (det är konvention, best practice)

5)  MySQL.con.insert(query); - Det förstår jag inte alls. Man brukar skapa en Statement och anropa execute() på den.

5) Det är farligt att använda textfragment från input direkt i en databasoperation. This is a classic: https://xkcd.com/327/

Svara
Close