Avatar billede ircnoob Nybegynder
10. april 2006 - 19:48 Der er 25 kommentarer

TekstFelt skal gemmes i database

Hej,
hvordan får jeg lavet den normale jTextField1.getText () om til at jeg kan bruge den til at gemme i en oracle database .. ?

try {
        // Create a result set containing all data from my_table
        Statement stmt = connection.createStatement();
        ResultSet rs = stmt.executeQuery("insert into MEDLEMMER values(4, 'GUI3.jTextField1.getText ()', 'nyadresse')");

sådan ser skidtet ud hidtil, så har input i et tekstfelt i en anden klasse, som jeg gerne skulle gemme i databsen :)
Avatar billede arne_v Ekspert
10. april 2006 - 19:50 #1
stmt.executeUpdate("insert into MEDLEMMER values(4, '" + GUI3.jTextField1.getText() + "', 'nyadresse')");

maaske
Avatar billede ircnoob Nybegynder
10. april 2006 - 20:04 #2
Update.. :):


ResultSet rs = stmt.executeQuery("insert into MEDLEMMER values(55, '"+navn+"', 'nyadresse')");
       
String navn = GUI3.getNavn();

er ved at være ude i noget i denne stil nu men det vil den ikk lige æde.. :()
Avatar billede arne_v Ekspert
10. april 2006 - 20:04 #3
stmt.executeUpdate
Avatar billede arne_v Ekspert
10. april 2006 - 20:05 #4
og navn skal naturligvis saettes inden det bruges (byt om paa linierne)
Avatar billede ircnoob Nybegynder
10. april 2006 - 21:02 #5
test.java:85: non-static method getNavn() cannot be referenced from a static context
        String navn = GUI3.getNavn();
test.java:87: non-static method getNavn() cannot be referenced from a static context
        ResultSet rs = stmt.executeUpdate("4, '" + GUI3.getNavn() + "', 'nyadresse')");

:S
Avatar billede arne_v Ekspert
10. april 2006 - 21:09 #6
GUI3 er en klasse
getNavn er en ikke static metode

du skal have et objekt af typen GUI3 at kalde getNavn paa
Avatar billede ircnoob Nybegynder
10. april 2006 - 21:43 #7
public static void main (String args[])
    {
        String n;
        n = jTextField1.getText ();

men så brokker den sig over non static variable jTextField1 cannont be  referenced from a static context .. :(
Avatar billede arne_v Ekspert
10. april 2006 - 21:50 #8
ja

du kan kun kalde jTextField1.getText() fra en ikke static metode i klassen
der indeholder jTextField1
Avatar billede ircnoob Nybegynder
10. april 2006 - 21:56 #9
nøh nu fandt jeg ud af at lave den static .. nu siger den blot Exception in thread "main" java.lang.NullPointerException
        at GUI3.main(GUI3.java:328)
Java Result: 1

.. meget bedre.. :D
Avatar billede ircnoob Nybegynder
10. april 2006 - 21:57 #10
æh hva skal det sige ? er vist lidt sat ...
Avatar billede arne_v Ekspert
10. april 2006 - 21:58 #11
de siger at du i linie 328 siger

noget.nogetandet

hvor noget er null
Avatar billede ircnoob Nybegynder
10. april 2006 - 22:02 #12
hov ja srry fik jeg ikke lige skrevet.. var på "n = jTextField1.getText ();"
Avatar billede arne_v Ekspert
10. april 2006 - 22:07 #13
saa maa jTextField1 jo vaere null

d.v.s. at der mangler en

jTextField1 = new JTextField();
Avatar billede ircnoob Nybegynder
10. april 2006 - 22:09 #14
fandt vist ud af det... så nu er der blot tilbage..

test.java:93: incompatible types
found  : int
required: java.sql.ResultSet
        ResultSet rs = stmt.executeUpdate("4, '" + GUI3.getNavn() + "', 'nyadresse')");
Avatar billede arne_v Ekspert
10. april 2006 - 22:12 #15
stmt.executeUpdate("4, '" + GUI3.getNavn() + "', 'nyadresse')");

eller

int res = stmt.executeUpdate("4, '" + GUI3.getNavn() + "', 'nyadresse')");
Avatar billede arne_v Ekspert
10. april 2006 - 22:13 #16
det er executeQuery som returnerer et ResultSet
Avatar billede ircnoob Nybegynder
10. april 2006 - 22:33 #17
Den melder de samme fejl underligt nok
Avatar billede ircnoob Nybegynder
10. april 2006 - 22:45 #18
Det er udmiddelbart lige meget hvad jeg skriver så siger den det med int ..
Avatar billede ircnoob Nybegynder
10. april 2006 - 22:52 #19
Nå gik væk da jeg gik tilbage til executeQuery ..

Så er jeg tilbage ved :
xception in thread "main" java.lang.NullPointerException
        at GUI3.getNavn(GUI3.java:320)
        at GUI3.main(GUI3.java:328)

1:        return jTextField1.getText ();
2:        n = getNavn ();
Avatar billede ircnoob Nybegynder
10. april 2006 - 23:49 #20
k nu melder den ikke fejl . der bliver dog heller intet skrevet til databasen ... :D
Avatar billede ircnoob Nybegynder
11. april 2006 - 00:00 #21
okay sådan kan man åbenbart ikke gøre .. hvordna skal jeg få sendt input textfield fra gui3 klassen over i test(database) klassen ? der kommer intet i databasen udmidddelbart..
Avatar billede ircnoob Nybegynder
11. april 2006 - 07:41 #22
nu nu virker det pludselig :D

Nu mangler jeg blot et svar fra dig så du kan få lidt beskedne point for din hjælp :)

Som primary har jeg noget medlemsnr .. er det ikke muligt at tage den sidste/højeste værdi i det felt og selecte det og lægge én til når jeg skal tilføje den næste.. ?
Avatar billede ircnoob Nybegynder
11. april 2006 - 07:45 #23
og ja.. er det forkert at jeg i test/db klassen nu bruger "GUI3.jTextField1.getText ()",  burde man gøre det anderledes ?
Avatar billede ircnoob Nybegynder
11. april 2006 - 08:45 #24
ResultSet rs2 = stmt.executeQuery("SELECT COUNT(*) FROM MEDLEMMER");
ResultSet rs = stmt.executeQuery("insert into MEDLEMMER values ('+rs2+, '" + GUI3.jTextField1.getText () + "', '" + GUI3.byTextField.getText () + "')"); 

Ideen var så at jeg på én eller anden måde, som jeg ikke kan regne ud, så lægger én til den row count.. Men er det, det rene sludder ?
Avatar billede ircnoob Nybegynder
11. april 2006 - 08:48 #25
eller jeg burde da kunne få databasen til at øge med 1 på en eller anden måde automaitsk.. ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester