Announcement

Collapse
No announcement yet.

Werte aus SQL Datenbank holen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Und, was übergibst du der Funktion beim Aufruf? Du wirst wohl kein Model übergeben
    Christian

    Comment


    • #17
      Keine Ahnung ich hab das mal so hingeschrieben wie oben vorgeschlagen.....

      Ich komm mit dem Debugger auch nicht dass ich schauen kann welche Wert dort drin sind usw weil dann eine Fehlermeldung kommt mit dem Class Editor und dem Button wo dann die Connector Datei vorgewählt ist...!
      Wenn nämlich die Zeile mit "Statement statement=connection.createStatement();" ausgeführt wird, springt der Debugger in ein neues Fenster mit der Bezeichnung "ConnectionImpl.class" und darin steht dann "Class File Editor" und dann "Source not found" und darunter ist dann ein Button mit "Change Attached Source" - wenn ich den klick ist die SQL Connector DAtei vorgewählt......!


      Das ist mein Code
      Code:
       public String fillTextfeld()
              {
              String result=null;
              
              if(connection==null)
                  {
                  System.out.println("Abfrage nicht möglich, Connection ist null");
                  return result;
                  }
              try
                  {
                  Statement statement=connection.createStatement();
                  ResultSet resultSet=statement.executeQuery("SELECT * FROM einnahmen");
                  defaultTableModel.setRowCount(0);
                  while(resultSet.next())
                      {
                  	result=(result+resultSet.getString(1));
                  	defaultTableModel.addRow(new Object[] 
                  			{
                  			resultSet.getInt(1), resultSet.getString(2), resultSet.getInt(3), resultSet.getInt(4), resultSet.getInt(5), resultSet.getFloat(6), resultSet.getDate(7), resultSet.getFloat(8), resultSet.getInt(9),   
                  			});
                  	}
                  resultSet.close();
                  statement.close();
                  }
              catch(SQLException ex)
                  {
                  System.out.println("SQL-Exception bei der Abfrage: "+ex.getMessage());
                  }
              return result;
              }

      Comment


      • #18
        Sorry, für mich ist jetzt hier Ende. Ich post dir laufen Code. Anstatt den zu übernehmen veränderst du den ohne Plan.

        Lerne die Grundlagen.

        Logisch ist in deiner Methode das Model null. wo übergibst du es? Da gehört das globale Model aus der GUI-Klasse hin, damit das die Tabelle füllt.

        Warum habe ich wohl - und das ist jetzt das 3. Mal - gesagt, du sollst eine neue Methode schreiben. Die habe ich dir oben komplett hingeschrieben.

        Dein jetziger Ansatz in der Methode ist kompletter Murks
        Christian

        Comment


        • #19
          Ja ich hab keine Ahnung darum frag ich ja.....! :-)

          Du meinst mit der kompletten Methode wohl diesen Code:
          Code:
          public void fillTable(DefaultTableModel defaultTableModel)
                  {
                  if(connection==null)
                      {
                      System.out.println("Abfrage nicht möglich, Connection ist null");
              return;
                      }
                  try
                      {
                      Statement statement=connection.createStatement();
                      ResultSet resultSet=statement.executeQuery("SELECT * from........");
                      while(resultSet.next())
                          {
                          System.out.println(resultSet.getString(1));
                          System.out.println(resultSet.getString(2));
                          }
                      resultSet.close();
                      statement.close();
                      }
                  catch(SQLException ex)
                      {
                      System.out.println("SQL-Exception bei der Abfrage: "+ex.getMessage());
                      }
                  }
          Gut ok aber ich hab ja schon diesen Code dranstehen:
          Code:
          public String fillTextfeld()
                  {
                  String result=null;
                  
                  if(connection==null)
                      {
                      System.out.println("Abfrage nicht möglich, Connection ist null");
                      return result;
                      }
                  try
                      {
                      Statement statement=connection.createStatement();
                      ResultSet resultSet=statement.executeQuery("SELECT * FROM einnahmen");
                      defaultTableModel.setRowCount(0);
                      while(resultSet.next())
                          {
                      	result=(result+resultSet.getString(1));
                      	defaultTableModel.addRow(new Object[] 
                      			{
                      			resultSet.getInt(1), resultSet.getString(2), resultSet.getInt(3), resultSet.getInt(4), resultSet.getInt(5), resultSet.getFloat(6), resultSet.getDate(7), resultSet.getFloat(8), resultSet.getInt(9),   
                      			});
                      	}
                      resultSet.close();
                      statement.close();
                      }
                  catch(SQLException ex)
                      {
                      System.out.println("SQL-Exception bei der Abfrage: "+ex.getMessage());
                      }
                  return result;
                  }
          Naja da kann ich doch nur den vorhandenen Code umändern/anpassen oder was hätte ich sonst damit tun sollen....!?

          Ich mein genau das hier ist ja der Knackpunkt der ganzen Angelegenheit, das würd ich halt jetzt schon noch durchziehen wollen!

          Also wenn ich die Methode neu einfügen muss, wohin damit und was ist mit dem vorhandenen Code?

          Comment


          • #20
            Naja da kann ich doch nur den vorhandenen Code umändern/anpassen oder was hätte ich sonst damit tun sollen....!?
            Copy & Paste in deinen DatenManager

            Naja da kann ich doch nur den vorhandenen Code umändern/anpassen
            Nein, man darf auch neuen Code in Klassen schreiben
            Christian

            Comment


            • #21
              Datenmanager bedeutet jetzt eine neue Class/Datei anzulegen (das der Code bei 1 beginnt) oder unter public String fillTextfeld() in die aktuelle Datei zu schreiben oder wohin?


              Naja mir ist schon klar dass noch weiterer Code hingeschrieben werden kann aber dann muss ich ja weitere Änderungen durchführen?

              Also momentan kapier ich einfach nicht was ich mit dem gegebenen Code anfangen hätte sollen wenn nicht die vorhanden SQL Abfrage eben dahingehend abzuändern.... das ist mein Problem!

              Comment


              • #22
                Was ist eine Methode einer Klasse?

                Wie fügt man eine neue hinzu?

                http://michael.hahsler.net/JAVA/pdf/03_3Methoden.pdf
                Christian

                Comment


                • #23
                  also ich hab jetzt folgenden Code:

                  Code:
                  public String fillTextfeld()
                          {
                          String result=null;
                          
                          if(connection==null)
                              {
                              System.out.println("Abfrage nicht möglich, Connection ist null");
                              return result;
                              }
                          try
                              {
                              Statement statement=connection.createStatement();
                              ResultSet resultSet=statement.executeQuery("SELECT * FROM einnahmen");
                              while(resultSet.next())
                                  {
                              	result=(result+resultSet.getString(1));
                              	defaultTableModel.addRow(new Object[] 
                              			{
                              			resultSet.getInt(1), resultSet.getString(2), resultSet.getInt(3), resultSet.getInt(4), resultSet.getInt(5), resultSet.getFloat(6), resultSet.getDate(7), resultSet.getFloat(8), resultSet.getInt(9),   
                              			});
                              	}
                              resultSet.close();
                              statement.close();
                              }
                          catch(SQLException ex)
                              {
                              System.out.println("SQL-Exception bei der Abfrage: "+ex.getMessage());
                              }
                          return result;
                          }
                      
                      //Füllen der Tabelle mit Daten
                      
                      public void fillTable(DefaultTableModel defaultTableModel)
                      {
                      if(connection==null)
                      {
                          System.out.println("Abfrage nicht möglich, Connection ist null");
                          return;
                          }
                      try
                          {
                          Statement statement=connection.createStatement();
                          ResultSet resultSet=statement.executeQuery("SELECT * from einnahmen");
                          defaultTableModel.setRowCount(0);
                          while(resultSet.next())
                              {
                              defaultTableModel.addRow(new Object[]
                                          {
                              		resultSet.getInt(1), resultSet.getString(2), resultSet.getInt(3), resultSet.getInt(4), resultSet.getInt(5), resultSet.getFloat(6), resultSet.getDate(7), resultSet.getFloat(8), resultSet.getInt(9),
                                          });
                              }
                          resultSet.close();
                          statement.close();
                          }
                      catch(SQLException ex)
                          {
                          System.out.println("SQL-Exception bei der Abfrage: "+ex.getMessage());
                          }
                      }

                  Comment


                  • #24
                    public String fillTextfeld()

                    falsch!!!
                    Ich habe da etwas anderes geschrieben
                    Christian

                    Comment


                    • #25
                      Ja dann kann ich die obere Methode löschen und nur die untere zählt praktisch oder wie?

                      Dann müsste ich ja auch in der zweiten Datei mit der Grafik auch zb das bei den Buttons ändern, weil dort die Methode aufgerufen wird - String ergebnis=ButtonDBTablezweite.getInstance().fillTex tfeld(); in Zeile 95 der anderen Datei...!

                      Das alles verwirrt mich halt momentan......... weil wenns nicht dransteht nehm ich an es muss nicht gemacht werden, dann kann ich aber nicht die Zeile mit fillTextfeld() löschen......!

                      Comment


                      • #26
                        Ja dann kann ich die obere Methode löschen und nur die untere zählt praktisch oder wie?
                        Was hast du an

                        Copy & Paste in deinen DatenManager

                        nicht verstanden. ZUSÄTZLICH IN DIE KLASSE EINFÜGEN!

                        Das alles hat keinen Sinn solange du die Grundlagen nicht beherrscht, was ist eine Klasse, was ist eine Methode usw.
                        Christian

                        Comment


                        • #27
                          Dann müsste ich ja auch in der zweiten Datei mit der Grafik auch zb das bei den Buttons ändern, weil dort die Methode aufgerufen wird - String ergebnis=ButtonDBTablezweite.getInstance().fillTex tfeld(); in Zeile 95 der anderen Datei...!
                          JAAAAAA staun, in der GUI Klasse muss dann ein anderer Button diese Methode aufrufen oder dieser Button ruft beide Methoden nacheinander auf
                          Christian

                          Comment


                          • #28
                            Was hast du an

                            Copy & Paste in deinen DatenManager
                            Datenmanager....

                            Bei dem bekannten Kenntnisstand und vor allem da klar ist dass du in NetBeans und ich in Eclipse arbeite wäre solch ein Wort einfach klar als missverständlich zu beurteilen gewesen...! ;-)
                            "Unterhalb der fillTextfield() Methode neu einfügen" hätte alles gesagt..... unmissverständlich!!

                            Das alles hat keinen Sinn solange du die Grundlagen nicht beherrscht, was ist eine Klasse, was ist eine Methode usw.
                            Nicht das ist das Problem, denn ich habe durchaus das Grundlagenwissen über Methoden und Klassen....!

                            Comment


                            • #29
                              Ok gut dann mach ich das eben so - wenns nicht gesagt wird, vermuten kann ich vieles...! ;-)
                              Benutz ich die TextArea für die zweite Sache und das Textfeld für die andere Methode....!

                              Comment


                              • #30
                                wenns nicht gesagt wird, vermuten kann ich vieles...! ;-)
                                Wenn du die einfachsten Grundlagen nicht beherrscht ist DB-Programmierung oder GUI-Programmierung noch nichts für dich

                                Was sollte ich denn noch schreiben....
                                Christian

                                Comment

                                Working...
                                X