![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Gast
Beiträge: n/a
|
Hi,
ich will mittels Textfeldern eine Datenbank füllen und durch einen Menupunkt diese dann wieder auslesen. Wie mache ich das? Mir ist klar dass ich das mit SQL-Statements in Java mache, aber wie genau? Das ist grad mein Problem. Hoffentlich kann mir jemand von euch helfen. Danke schon im Voraus. |
|
|
|
Nach oben #2 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.590
|
Hallo,
willkommen im Forum. Was Du da machen möchtest ist sicherlich kein Anfängerthema. Das mal im Voraus Um in Java auf Datenbanken zuzugreifen nutzt man JDBC(Java Database Connectivity) Schau eventuell mal für den Anfang hier rein: "Java ist auch eine Insel", Onlineversion, Kapitel 20: Datenbankmanagement mit JDBC Du möchtest jetzt aber ja gleichzeitig auch noch über eine grafische Oberfläche, in Deinem Beispiel Textfelder, Daten einfügen und danach wieder auslesen. Das heißt, dass Du Dich auch noch mit Grafikprogrammierung, z.B. mittels Swing, beschäftigen musst. Ich rate Dir erst einmal folgendes auszuprobieren. Nutze Diesen Thread hier, um zu lernen, wie man mit Java auf eine Datenbank zugreift. Fragen könnten sein: Wie erstelle ich eine Verbindung? Wie schicke ich SQL-Queries an die Datenbank? Oder auch: Wie arbeite ich denn mit dem Resultat, dass ich bei der Abfrage erhalte? Stöber auch mal etwas im Forum .. wir hatten hier schon ab und zu mal was Ich verschiebe den Thread also mal in Richtung "Datenbanken unter Java", da passt er besser hin Versuche also nicht alles auf einmal zu machen, sondern gehe behutsam an die Sache ran und lerne eins nach dem anderen. Grüße Ben. |
|
|
|
|
|
Nach oben #3 |
|
Gast
Beiträge: n/a
|
Das ist dann falsch rübergekommen. Die GUI hab ich schon gemacht. Das habe ich schon drauf. Aber bei der Datanbankverbindung habe ich noch Probleme.
Hier mal meine Idee. Code:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection verbindung = DriverManager.getConnection("jdbc:odbc:turniere");
Statement befehl = verbindung.createStatement();
ResultSet datenmenge;
datenmenge = befehl.executeQuery("SELECT * FROM verwaltung;");
String turniername;
String turnierort;
while (datenmenge.next()) {
turniername = datenmenge.getString("Turniername");
turnierort = datenmenge.getString("Turnierort");
System.out.println(turniername + ": " + turnierort);
}
verbindung.close();
Damit habe ich es probiert. Aber bei den Methoden, mit denen ich die Daten auslese bzw. schreibe, habe ich Probleme. Kannst du mir da noch Tipps geben? Vielleicht Codebeispiele? |
|
|
|
Nach oben #4 | |
|
Benutzer
Registriert seit: 15.02.2005
Beiträge: 33
|
Zitat:
Code:
import java.sql.*;
import java.text.*;
public class Gehalt {
//
public static void print(double value, String format)
{
DecimalFormat df = new DecimalFormat(format);
System.out.println(df.format(value));
}
public static void main (String[] args) {
double gehalt, summe, durchschnitt;
int anzahl;
//
try {
System.out.println("* Treiber laden");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("* Datenbank-Verbindung beginnen");
Connection con = DriverManager.getConnection
("jdbc:odbc:MITA", "name", "kennwort");
con.setReadOnly(true);
System.out.println("* Statement beginnen");
Statement stmt = con.createStatement();
System.out.println("* Abfrage beginnen");
ResultSet rs = stmt.executeQuery
("SELECT Gehalt FROM Mitarbeiter");
System.out.println("* Ergebnis berechnen");
summe = 0.0;
anzahl = 0;
while (rs.next()) {
gehalt=rs.getDouble(1);
summe = summe + gehalt;
anzahl = anzahl + 1;
}
durchschnitt = summe / (double) anzahl ;
System.out.print("Durchschnittsgehalt = "):print(durchschnitt, "#,###,##0.00");
System.out.println("* Statement beenden");
System.out.println("Insgesamt wurden " + anzahl + " Datensaetze erfasst.");
stmt.close();
System.out.println("* Datenbank-Verbindung beenden");
con.close();
} catch (Exception e) {
System.out.println("*** Fehler: " + e);
}
}
}
Hth E.
__________________
No Sig |
|
|
|
|
|
|
Nach oben #7 |
|
Gast
Beiträge: n/a
|
Ihr habt mir damit schon sehr geholfen! Danke erstmal. Abver könnte mir jemand zeigen wie ich Daten aus der Datenbank in einer JTable ausgeben kann? Da muss ich ja das JTableModel benutzen. Richtig? Wie mach ich das mit den Spalten? Also wie lege ich fest in welche Spalte ich schreibe? Mit der reihenfolge der Parameter oder?
Habt ihr da noch Codebeispiele? Thx Nils Holgerson |
|
|
|
Nach oben #8 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.590
|
Hallo,
Du selektierst Datensätze aus der DB und hast ja dann ein ResultSet. Dann füllst Du einfach die Tabelle mit den entsprechenden Werten. Hier ist mal ein Beispiel: "Java ist auch eine Insel", 15.25.2 AbstractTableModel Spiel da einfach mal was mit rum Und noch etwas Allgemeines: "Java Tutorial", SUN, How to Use Tables "Java ist auch eine Insel", 15.25 Tabellen mit JTable Hoffe, dass Dir das weiterhilft Grüße Ben. |
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Config Tabelle auslesen | Garnele | PHP-Programmierung | 5 | 23.03.2006 19:57 |
| MySQL: Abfrage aus zweiter Tabelle. | Sebastian | PHP-Programmierung | 6 | 16.12.2005 00:01 |