tutorials.de Buch-Aktion 05/2012
Like Tree4Danke
  • 1 Beitrag von xanadoo
  • 1 Beitrag von Technoblade
  • 1 Beitrag von Akeshihiro
  • 1 Beitrag von xanadoo
ERLEDIGT
NEIN
ANTWORTEN
13
ZUGRIFFE
821
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Russia Tutorials.de Gastzugang
    Hallo liebe Community,
    Brauche dringend Hilfe für ein Schulprojekt
    Hab hier erstmal ein Testprogramm geschrieben, welches das Ergebnis einer SQL Abfrage in einer ganz einfachen GUI ausgeben soll, jedoch erhalte ich keinerlei Ausgabe in der GUI
    Könntet ihr mir bitte helfen
    Hier die 3 Klassen:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    
    package Paket;
    import java.sql.*;
     
    public class DB_Abfrage
    {
     
        
     
      
       private String Antwort1;
     
        void sucheArtikel()
        {
            ResultSet ergebnismenge;
            String mSQL;
            
            DBZugriff aktuellerZugriff = new DBZugriff();
            aktuellerZugriff.oeffneDB();
            mSQL = "SELECT Antwort1  FROM leicht ";         // Tabelle heißt: leicht    // Antwort1 = Name der 3ten Spalte           
            mSQL = mSQL + "WHERE Nr = '2';";                // Nr = erste Spalte
            ergebnismenge = aktuellerZugriff.lesen(mSQL);
            
          try
          {
            ergebnismenge.next();
           int Nr = ergebnismenge.getInt("Nr");
            Antwort1 = ergebnismenge.getString(Antwort1);
            System.out.println(Antwort1);
        
           }
             catch (SQLException err)
              {
          
              }
          
           aktuellerZugriff.schliesseDB() ;
        }
        
     
     
     
     
     
    }





    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    
    package Paket;
     
    import javax.swing.*;
    import java.sql.*;
     
    public class DBZugriff extends JFrame {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        // Variablen für den Verbindungsaufbau
        Connection mdbArtikel = null; // Verbindungsobjekt
        String mDB; // Variable für den Treiber und den Pfad zur DB
        Statement stmtSQL = null; // Objekt für die Ausführung von SQL-Anweisungen
        
        
     
        void oeffneDB() {
            try{
                // mit nativem Treiber
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                mdbArtikel = DriverManager.getConnection("jdbc:mysql://localhost/wwm", "root", "");
                stmtSQL = mdbArtikel.createStatement();
                // DBVerbindung wird aufgebaut
            } catch (Exception fehler) {
                System.out.println("DB-Fehler: " + fehler);
            }
     
        }
     
     
        void schliesseDB() {
            try {
                stmtSQL.close();
                mdbArtikel.close();
            } catch (SQLException err) {
                System.err.println(err);
            }
        }
     
        ResultSet lesen(String pSQL) {
            ResultSet rs;
     
            try {
                rs = stmtSQL.executeQuery(pSQL);
                return rs;
            } catch (SQLException err) {
                System.err.println(err);
                rs = null;
                return rs;
            }
     
        }
    }




    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    
     
    package Paket;
     
    import java.awt.BorderLayout;
    import javax.swing.JPanel;
    import javax.swing.JFrame;
    import java.awt.Dimension;
    import javax.swing.JTextField;
    import java.awt.Rectangle;
    import javax.swing.JButton;
     
    public class Fensterklasse extends JFrame {
     
        private static final long serialVersionUID = 1L;
        private JPanel jContentPane = null;
        private JTextField jT_Frage = null;
        private JButton jButton = null;
     
        /**
         * This is the default constructor
         */
        public Fensterklasse() {
            super();
            initialize();
        }
     
        /**
         * This method initializes this
         * 
         * @return void
         */
        private void initialize() {
            this.setSize(669, 342);
            this.setContentPane(getJContentPane());
            this.setTitle("JFrame");
        }
     
        /**
         * This method initializes jContentPane
         * 
         * @return javax.swing.JPanel
         */
        private JPanel getJContentPane() {
            if (jContentPane == null) {
                jContentPane = new JPanel();
                jContentPane.setLayout(null);
                jContentPane.add(getJT_Frage(), null);
                jContentPane.add(getJButton(), null);
            }
            return jContentPane;
        }
     
        /**
         * This method initializes jT_Frage 
         *  
         * @return javax.swing.JTextField   
         */
        private JTextField getJT_Frage() {
            if (jT_Frage == null) {
                jT_Frage = new JTextField();
                jT_Frage.setBounds(new Rectangle(105, 32, 424, 46));
            }
            return jT_Frage;
        }
     
        /**
         * This method initializes jButton  
         *  
         * @return javax.swing.JButton  
         */
        private JButton getJButton() {
            if (jButton == null) {
                jButton = new JButton();
                jButton.setBounds(new Rectangle(252, 104, 168, 47));
                jButton.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent e) {
                        
                        DB_Abfrage Abfrage = new DB_Abfrage();
                        
                        Abfrage.sucheArtikel();
                        
                        
                        
                        jT_Frage.setText(Antwort1);
                        
                    }
                });
            }
            return jButton;
        }
     
        
        String Antwort1;  
        
        public String getAntwort1()
        {
            return Antwort1;
        }
        public void setAntwort1(String Antwort1)
        {
            this.Antwort1 = Antwort1;
        }
        
        
        
        
    }  //  @jve:decl-index=0:visual-constraint="10,10"




    Danke schon einmal für eure Hilfe, ich möchste Wissen wie ich das Ergebnis von SQL Abfragen in der GUI ausgeben kann, kann es bisher nur in der Konsole ansehn.
    Geändert von Russia (24.05.11 um 23:01 Uhr)
     

  2. #2
    Russia Tutorials.de Gastzugang
    Die SQL Datenbank:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    
    -- phpMyAdmin SQL Dump
    -- version 3.1.3.1
    -- phpMyAdmin
    --
    -- Host: localhost
    -- Erstellungszeit: 24. Mai 2011 um 21:58
    -- Server Version: 5.1.33
    -- PHP-Version: 5.2.9
     
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
     
    --
    -- Datenbank: `wwm`
    --
     
    -- --------------------------------------------------------
     
    --
    -- Tabellenstruktur für Tabelle `leicht`
    --
     
    CREATE TABLE IF NOT EXISTS `leicht` (
    `Nr` int(11) NOT NULL AUTO_INCREMENT,
    `Frage` text NOT NULL,
    `Antwort1` text NOT NULL,
    `Antwort2` text NOT NULL,
    `Antwort3` text NOT NULL,
    `Antwort4` text NOT NULL,
    `Loesung` text NOT NULL,
    PRIMARY KEY (`Nr`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
     
    --
    -- Daten für Tabelle `leicht`
    --
     
    INSERT INTO `leicht` (`Nr`, `Frage`, `Antwort1`, `Antwort2`, `Antwort3`, `Antwort4`, `Loesung`) VALUES
    (1, 'Wie nennt man großen Wirbel um eine berühmte Persönlichkeit?', 'Prominentenkirmes', 'Starrummel ', 'VIP-Jahrmarkt', 'Götterzirkus', 'b'),
    (2, ' Wie heiße ich? ', ' Bernd ', ' Tobias ', ' Manuel ', ' Thomas ', 'a'),


    starten tu ich das Projekt, vorerst in Eclipse über Java Bean die Fensterklasse
    Geändert von Russia (24.05.11 um 23:02 Uhr)
     

  3. #3
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.960
    Ich glaube, dass du hier viele, die dir helfen wollen, damit verkraulst, dass du deinen Quelltext nicht in die entsprechenden Tags gesetzt hast. Als Hinweis: es gibt [java][/java] und [highlight=java][/highlight]
     
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  4. #4
    xanadoo xanadoo ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Beiträge
    119
    Da kann ich nur zustimmen.
    Ich habe jetzt auch nicht alles genau angeschaut, da es so nicht wirklich übersichtlich ist.

    Aber auf den ersten Blick würde ich sagen, dass der String welchen du in deiner Fensterklasse in das Textfeld schreibst nie initialisiert wird.
    Russia bedankt sich. 

  5. #5
    Russia Tutorials.de Gastzugang
    Tut mir leid, bin neu im Forum.
    Habs gleich geändert

    Wie meinst du das xanadoo, könntest du es bitte einfügen wie du meinst ?
     

  6. #6
    Technoblade Technoblade ist offline Mitglied Gold
    Registriert seit
    Feb 2009
    Beiträge
    193
    Das ist recht einfach. Du speicherst zwar das Ergebnis der SQL-Abfrage in deiner Variable Antwort1 aber dieser gelangt niemals zum GUI. Du musst auch wissen, dass es bei den ganzen Antwort1-Variablen die du in den verschiedenen Klassen hast nicht um die selbe Variable handelt. Änderst du also dein Antwort1 in der Fensterklasse ändert es sich nicht in DBAbfrage.

    Du musst dir also von sucheArtikel auch das Ergebnis zurückgeben lassen (Rückgabewert von void auf String ändern und anstelle von Antwort1 = ergebnismenge.getString() ...
    return ergebnismenge.getString() ...) und dann in der Fensterklasse Antwort1 aufdenentsprechenden Wert setzen(Also in Zeile 81 Anfrage1 = Abfrage.sucheArtikel();)
    Geändert von Technoblade (24.05.11 um 23:21 Uhr) Grund: Smilies deaktiviert
    Russia bedankt sich. 

  7. #7
    Russia Tutorials.de Gastzugang
    Kannst du mir bitte den gefallen tun, und es im Quellcode von oben einfügen
     

  8. #8
    Avatar von Akeshihiro
    Akeshihiro Akeshihiro ist offline Mitglied Platin
    Registriert seit
    Aug 2008
    Ort
    Kirchlengern (NRW)
    Beiträge
    647
    In der Klasse DB_Abfrage in der Zeile 28 gibst du das Ergebnis via System.out.println() aus. Das musst du ändern, und zwar anstatt der Kommandozeilenausgabe müsste da die Ausgabe oder Werteübergabe für die GUI stattfinden. Im einfachsten Fall greifst du direkt auf dein Textfeld oder was auch immer zu und setzt den Text. Das machen viele und man sieht es auch entsprechend oft, ist aber Murks. Besser ist, wenn man zusätzliche Methoden deklariert und somit den eigentlichen Prozess (also z.B. das Einfügen/Setzen eines Textes in ein Textfeld) kapselt. So entstehen Schnittstellen, die man dann auch extrahieren und für andere Sachen nutzen kann, z.B. für die Ausgabe auf der Kommandozeile oder in einer GUI, und man müsste den Code kaum ändern, weil die Aufrufe alle gleich sind, lediglich das Ziel wäre ein anderes.

    Ach, und die Klasse DB_Zugriff von JFrame abzuleiten ist nicht sonderlich sinnvoll und verwendest du auch nicht als grafisches Element, daher das "extends JFrame" da raus nehmen.
    Russia bedankt sich. 
    Man sagt, das Schwert eines Samurai sei seine Seele ...

    Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.

    Das Schmieden ist eine Kunst; Das Schreiben auch ;)

  9. #9
    MiMi MiMi ist offline Mitglied Smaragd
    Registriert seit
    Sep 2007
    Beiträge
    1.177
    Zitat Zitat von Russia Beitrag anzeigen
    Kannst du mir bitte den gefallen tun, und es im Quellcode von oben einfügen
    Wir machen keine Hausaufgeben
    Versuche zu verstehen was die Leute hier dir versuchen zu sagen, sie versuchen dir zu helfen in ihrer freien Zeit. Also gib dir doch etwas Muehe und versuche es umzusetzen!

    Aso, Methodennamen und Variablennamen schreibt man klein, Klassennamen gross
     
    Waere super wenn ihr euren Code in dieser Form einfuegt:
    [JAVA]System.out.println("Test :)");[/JAVA]
    wird zu:
    Code java:
    1
    
    System.out.println("Test :)");
    Tabs sind uebrigens keine Feinde :)
    Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
    Danke :D

  10. #10
    Russia Tutorials.de Gastzugang
    Ich habe hier eine komplett überarbeitete Version der Klassen gemacht, allerdings finde ich den Fehler nicht, warum die Variablen nicht übergeben werden von der Klasse "Steuerung" zur Klasse "Spiel".
    Die Ausgabe auf der Konsole funktioniert.
    Allerdings funktioniert die Übergabe nicht, wenn ich auf den extra angelegten Start Button klicke, wonach die Variablen in der GUI erscheinen sollten.


    Auch wenn statt void "String" schreibe, in Z.114... return davor setze und den anderen Tip befolge, was ich in die andere Klasse schreiben muss, funktioniert es nicht, bzw. was gib ich falsch ein, und was muss ich abändern damit es funktioniert ?
    Steh grade voll auf dem Schlauch....



    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    
    package WWM_Paket;
     
    import java.awt.BorderLayout;
    import javax.swing.JPanel;
    import javax.swing.JFrame;
    import java.awt.Dimension;
    import javax.swing.JButton;
    import java.awt.Rectangle;
    import javax.swing.JLabel;
    import javax.swing.JToggleButton;
     
    public class Spiel extends JFrame {
     
        private static final long serialVersionUID = 1L;
        private JPanel jContentPane = null;
        private JButton jB_Antwort1 = null;
        private JButton jB_Antwort3 = null;
        private JButton jB_Antwort2 = null;
        private JButton jB_Antwort4 = null;
        private JLabel jL_Frage = null;
        private JLabel jL_Nummer = null;
        private JToggleButton jT_Musik = null;
        private JToggleButton jT_Joker1 = null;
        private JToggleButton jT_Joker2 = null;
        private JButton jB_Start = null;
     
        /**
         * This is the default constructor
         */
        public Spiel() {
            super();
            initialize();
        }
     
        /**
         * This method initializes this
         * 
         * @return void
         */
        private void initialize() {
            this.setSize(686, 361);
            this.setContentPane(getJContentPane());
            this.setTitle("Wer wird Millionär");
        }
     
        
        String Frage;
        String Antwort1;  //  @jve:decl-index=0:
        String Antwort2;  //  @jve:decl-index=0:
        String Antwort3;  //  @jve:decl-index=0:
        String Antwort4;
        String Loesung;
        
        
     
        
        public String getFrage()
        {
            return Frage;
        }
        public void setFrage(String Frage)
        {
            this.Frage = Frage;
        }
     
        
        
        public String getAntwort1()
        {
            return Antwort1;
        }
        public void setAntwort1(String Antwort1)
        {
            this.Antwort1 = Antwort1;
        }
        
        
        
        public String getAntwort2()
        {
            return Antwort2;
        }
        public void setAntwort2(String Antwort2)
        {
            this.Antwort2 = Antwort2;
        }
        
        
        
        
        public String getAntwort3()
        {
            return Antwort3;
        }
        public void setAntwort3(String Antwort3)
        {
            this.Antwort3 = Antwort3;
        }
        
        
        
        public String getAntwort4()
        {
            return Antwort4;
        }
        public void setAntwort4(String Antwort4)
        {
            this.Antwort4 = Antwort4;
        }
        
        
        
        public String getLoesung()
        {
            return Loesung;
        }
        public void setLoesung(String Loesung)
        {
            this.Loesung = Loesung;
        }
        
        
        
        
        private JPanel getJContentPane() {
            if (jContentPane == null) {
                jL_Nummer = new JLabel();
                jL_Nummer.setBounds(new Rectangle(582, 74, 78, 34));
                jL_Nummer.setText("");
                jL_Frage = new JLabel();
                jL_Frage.setBounds(new Rectangle(12, 117, 650, 51));
                jL_Frage.setText("");
                jContentPane = new JPanel();
                jContentPane.setLayout(null);
                jContentPane.add(getJB_Antwort1(), null);
                jContentPane.add(getJB_Antwort3(), null);
                jContentPane.add(getJB_Antwort2(), null);
                jContentPane.add(getJB_Antwort4(), null);
                jContentPane.add(jL_Frage, null);
                jContentPane.add(jL_Nummer, null);
                jContentPane.add(getJT_Musik(), null);
                jContentPane.add(getJT_Joker1(), null);
                jContentPane.add(getJT_Joker2(), null);
                jContentPane.add(getJB_Start(), null);
            }
            return jContentPane;
        }
     
        /**
         * This method initializes jB_Antwort1  
         *  
         * @return javax.swing.JButton  
         */
        private JButton getJB_Antwort1() {
            if (jB_Antwort1 == null) {
                jB_Antwort1 = new JButton();
                jB_Antwort1.setBounds(new Rectangle(17, 181, 321, 51));
            }
            return jB_Antwort1;
        }
     
        /**
         * This method initializes jB_Antwort3  
         *  
         * @return javax.swing.JButton  
         */
        private JButton getJB_Antwort3() {
            if (jB_Antwort3 == null) {
                jB_Antwort3 = new JButton();
                jB_Antwort3.setBounds(new Rectangle(16, 257, 322, 42));
            }
            return jB_Antwort3;
        }
     
        /**
         * This method initializes jB_Antwort2  
         *  
         * @return javax.swing.JButton  
         */
        private JButton getJB_Antwort2() {
            if (jB_Antwort2 == null) {
                jB_Antwort2 = new JButton();
                jB_Antwort2.setBounds(new Rectangle(352, 183, 312, 51));
            }
            return jB_Antwort2;
        }
     
        /**
         * This method initializes jB_Antwort4  
         *  
         * @return javax.swing.JButton  
         */
        private JButton getJB_Antwort4() {
            if (jB_Antwort4 == null) {
                jB_Antwort4 = new JButton();
                jB_Antwort4.setBounds(new Rectangle(348, 257, 318, 47));
            }
            return jB_Antwort4;
        }
     
        /**
         * This method initializes jT_Musik 
         *  
         * @return javax.swing.JToggleButton    
         */
        private JToggleButton getJT_Musik() {
            if (jT_Musik == null) {
                jT_Musik = new JToggleButton();
                jT_Musik.setBounds(new Rectangle(570, 30, 90, 26));
                jT_Musik.setText("Musik ein");
            }
            return jT_Musik;
        }
     
        /**
         * This method initializes jT_Joker1    
         *  
         * @return javax.swing.JToggleButton    
         */
        private JToggleButton getJT_Joker1() {
            if (jT_Joker1 == null) {
                jT_Joker1 = new JToggleButton();
                jT_Joker1.setBounds(new Rectangle(9, 24, 117, 29));
                jT_Joker1.setText("50/50 Joker");
            }
            return jT_Joker1;
        }
     
        /**
         * This method initializes jT_Joker2    
         *  
         * @return javax.swing.JToggleButton    
         */
        private JToggleButton getJT_Joker2() {
            if (jT_Joker2 == null) {
                jT_Joker2 = new JToggleButton();
                jT_Joker2.setBounds(new Rectangle(7, 61, 121, 29));
                jT_Joker2.setText("Telefonjoker");
            }
            return jT_Joker2;
        }
     
        /**
         * This method initializes jB_Start 
         *  
         * @return javax.swing.JButton  
         */
        private JButton getJB_Start() {
            if (jB_Start == null) {
                jB_Start = new JButton();
                jB_Start.setBounds(new Rectangle(308, 84, 75, 23));
                jB_Start.setText("Start");
                jB_Start.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent e) {
                        
                        Steuerung steuerung = new Steuerung();
                        
                        steuerung.FrageHolen();
                        
                        jB_Antwort1.setText(getAntwort1());
                        jB_Antwort2.setText(getAntwort2());
                        jB_Antwort3.setText(getAntwort3());
                        jB_Antwort4.setText(getAntwort4());
                        
                        jL_Frage.setText(getFrage());
                        
                    }
                });
            }
            return jB_Start;
        }
     
        
        
        
        
        
        
    }  //  @jve:decl-index=0:visual-constraint="10,10"





    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    
    package WWM_Paket;
     
    import java.sql.ResultSet;
     
    public class Steuerung {
     
        
        private String Frage;
        private String Antwort1;
        private String Antwort2;
        private String Antwort3;
        private String Antwort4;
        private String Loesung;
        private int Nr;
        private int Zufall = 2;
        
        
        
     
        public int getNr()
            {
                return Nr;
            }
        public void setNr(int Nr)
            {
                this.Nr = Nr;
            }
     
        
        
        public String getFrage()
        {
            return Frage;
        }
        public void setFrage(String Frage)
        {
            this.Frage = Frage;
        }
     
        
        
        public String getAntwort1()
        {
            return Antwort1;
        }
        public void setAntwort1(String Antwort1)
        {
            this.Antwort1 = Antwort1;
        }
        
        
        
        public String getAntwort2()
        {
            return Antwort2;
        }
        public void setAntwort2(String Antwort2)
        {
            this.Antwort2 = Antwort2;
        }
        
        
        
        
        public String getAntwort3()
        {
            return Antwort3;
        }
        public void setAntwort3(String Antwort3)
        {
            this.Antwort3 = Antwort3;
        }
        
        
        
        public String getAntwort4()
        {
            return Antwort4;
        }
        public void setAntwort4(String Antwort4)
        {
            this.Antwort4 = Antwort4;
        }
        
        
        
        public String getLoesung()
        {
            return Loesung;
        }
        public void setLoesung(String Loesung)
        {
            this.Loesung = Loesung;
        }
        
        
        
        
        
        void FrageHolen()
        {
            ResultSet ergebnismenge;
            String mSQL;
            
            DBZugriff aktuellerZugriff = new DBZugriff();
            aktuellerZugriff.oeffneDB();
            mSQL = "SELECT Frage, Antwort1, Antwort2, Antwort3, Antwort4, Loesung FROM leicht ";                     
            mSQL = mSQL + "WHERE Nr = '" + Zufall + "';";              
            ergebnismenge = aktuellerZugriff.lesen(mSQL);
            
         
            try {
                ergebnismenge.next();
                Frage = ergebnismenge.getString("Frage");
                Antwort1 = ergebnismenge.getString("Antwort1");
                Antwort2 = ergebnismenge.getString("Antwort2");
                Antwort3 = ergebnismenge.getString("Antwort3");
                Antwort4 = ergebnismenge.getString("Antwort4");
                Loesung = ergebnismenge.getString("Loesung");
                
                Spiel spiel = new Spiel();
                
                spiel.setFrage(Frage);
                spiel.setAntwort1(Antwort1);
                spiel.setAntwort2(Antwort2);
                spiel.setAntwort3(Antwort3);
                spiel.setAntwort4(Antwort4);
                spiel.setLoesung(Loesung);
                
                
                System.out.println(Frage + " "+ Antwort1 + " "+ Antwort2 + " "+ Antwort3 + " "+ Antwort4 + " "+ Loesung );
                
                
            } catch (Exception e) {
                System.out.println("error");
            }
        aktuellerZugriff.schliesseDB() ;
        }
        
        
        
    }



    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    
    package WWM_Paket;
     
     
    import javax.swing.*;
    import java.sql.*;
     
    public class DBZugriff extends JFrame {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        // Variablen für den Verbindungsaufbau
        Connection mdbArtikel = null; // Verbindungsobjekt
        String mDB; // Variable für den Treiber und den Pfad zur DB
        Statement stmtSQL = null; // Objekt für die Ausführung von SQL-Anweisungen
        
        
        void oeffneDB() {
            try{
                // mit nativem Treiber
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                mdbArtikel = DriverManager.getConnection("jdbc:mysql://127.0.0.1/wwm", "root", "");
                stmtSQL = mdbArtikel.createStatement();
                // DBVerbindung wird aufgebaut
            } catch (Exception fehler) {
                System.out.println("DB-Fehler: " + fehler);
            }
     
        }
     
        void aendern(String pSQL) {
            try {
                stmtSQL.executeUpdate(pSQL);
            } catch (SQLException err) {
                System.err.println(err);
                JOptionPane.showMessageDialog(this, "Fehler:..");
            }
        }
     
        void schliesseDB() {
            try {
                stmtSQL.close();
                mdbArtikel.close();
            } catch (SQLException err) {
                System.err.println(err);
            }
        }
     
        ResultSet lesen(String pSQL) {
            ResultSet rs;
     
            try {
                rs = stmtSQL.executeQuery(pSQL);
                return rs;
            } catch (SQLException err) {
                System.err.println(err);
                rs = null;
                return rs;
            }
     
        }
    }
    Geändert von Russia (25.05.11 um 17:56 Uhr)
     

  11. #11
    xanadoo xanadoo ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Beiträge
    119
    Weil du in der Klasse Steuerung eine neue Instanz der Klasse Spiel machst und dann die Werte aus der DB in diese neue Instanz schreibst.

    Diese hat aber natürlich nichts mit der Instanz Spiel zu tun, aus welcher du die Suche gestartet hast.
     

  12. #12
    Russia Tutorials.de Gastzugang
    Wie löse ich also das Problem ?
     

  13. #13
    xanadoo xanadoo ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Beiträge
    119
    Wieso überarbeitest du denn das erste einfache Beispiel komplett, bevor du dieses zum laufen gebracht hast?
    Das neue ist nicht wirklich einfacher...

    Ich würde nicht Versuchen aus der Klasse Steuerung die Werte der GUI (Klasse Spiel) zu setzten,
    sondern von der GUI die Werte der Klasse Steuerung zu lesen.
    Alle nötigen Methoden hast du in der Klasse Steuerung ja schon deklariert und die Werte werden jetzt auch schon in den Variablen gespeichert.
    Russia bedankt sich. 

  14. #14
    Russia Tutorials.de Gastzugang
    Dankeee xanadoo
     

Ähnliche Themen

  1. Datenbank Anbindung (Access 2007)
    Von Saban im Forum Java
    Antworten: 3
    Letzter Beitrag: 01.02.09, 16:37
  2. Schulprojekt Java - Vorschläge?
    Von Back2toxic im Forum Java
    Antworten: 8
    Letzter Beitrag: 06.05.08, 14:44
  3. Antworten: 5
    Letzter Beitrag: 30.07.06, 01:44
  4. Memberlist mit Datenbank anbindung
    Von TheManOfFire im Forum PHP
    Antworten: 1
    Letzter Beitrag: 20.09.04, 20:38

Stichworte