objektorientiert - noch immer nicht begriffen

Status
Nicht offen für weitere Antworten.

juergenerwin

Aktives Mitglied
Hallo,

Folgender Code:
Code:
import anschlusssicherung2.DBANSCon;
import java.sql.*; 
    
public class Transportmittel {
  SystemZeit Zeit;  
  DBANSCon DBANSCon;
  public String Kurs_ID;
  
  public Transportmittel() {
    Zeit = new SystemZeit(); 
    DBANSCon = new DBANSCon();
  }  
  
  public void aktiveTransportmittel() {
    try {
      DBANSCon.stmt.executeQuery(
          "select kurs_id " +
          "from tagesfahrplan t, tf_status s " +
          "where (gueltig_am = '" + Zeit.getAktuellesDatum() + "') " +
          "and (t.tagesfahrplan_id = s.tagesfahrplan_id) " +
          "and (status = 1) or (status = 2)");
      while (DBANSCon.rs.next()) {
        Kurs_ID = DBANSCon.rs.getString("kurs_id");
      }
    }
    catch (SQLException ex) {
      ex.printStackTrace();
    } 
  }
}

Frage:
Was muss ich tun, um in einer anderen Klasse (Klassenname egal) eine Ausgabe (println) der einzelnen Kurs_ID's generieren zu können?


Danke
Jürgen
 
OK,

kann ich leider (wahrscheinlich) noch nicht richtig anwenden.

Vorschlag:
Code:
  public void aktiveTransportmittel() {
    try {
      DBANSCon.stmt.executeQuery(
          "select kurs_id " +
          "from tagesfahrplan t, tf_status s " +
          "where (gueltig_am = '" + Zeit.getAktuellesDatum() + "') " +
          "and (t.tagesfahrplan_id = s.tagesfahrplan_id) " +
          "and (status = 1) or (status = 2)");
      while (DBANSCon.rs.next()) {
        setKurs_ID(DBANSCon.rs.getString("kurs_id"));
      }
    }
    catch (SQLException ex) {
      ex.printStackTrace();
    } 
  }
  public void setKurs_ID(String ID) {
    Kurs_ID = ID;
  }
  public String getKurs_ID() {
    return Kurs_ID;
  }

Sieht das gut aus?
 
du solltest die Variable nur noch umbennen in kursID (Java Konventionen 😉)

Ansonsten ist halt die Frage wann du die getter aufrufst, da du ja in deiner andern Methode ne while Schleife drin hast die den Wert verändert....
 
danke, habe ich schon bemerkt und so gelöst:

Code:
  public ArrayList Kurse = new ArrayList();



      while (DBANSCon.rs.next()) {
        Kurse.add(DBANSCon.rs.getString("kurs_id"));
      }

Ich weiss zwar noch nicht genau wie das funktionieren wird, aber das Ziel wird sein auf die ArrayList zuzugreifen. Das muss ich erst noch überlegen und probieren - werd's schon schaffen.

Danke für deine Hilfe
JürgenErwin
 
Ja so gehts natürlich, nur machs noch besser so:

Code:
private List kurse = new ArrayList();
.....
while(...) {
kurse.add(...);
}
....
public List getList() {
return kurse;
}

Sprich: get Methode für die (Array)List. Genauso als ob du nen String zurückgeben würdest.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben