Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

java programm erklärung

Empfohlene Antworten

hi,

kenn mich noch nich so richtig mit java aus.

könnt ihr mir vielleicht erklären was die einzelnen zeilen des programms machen?


package dbapp;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

import javax.swing.*;

import java.util.Vector;

/**

 *

 * @author nt

 */

public class Main extends Frame implements ActionListener {


    /** Creates a new instance of Main */

    TextArea data;

    JTable tab;

    Vector rows;

    public Main() {

        super("DBApp");

        WindowListener wl = new WindowAdapter() {

            public void windowClosing(WindowEvent e) {

                System.exit(0);

            }

        };

        addWindowListener(wl);

        data = new TextArea();

        Button holen = new Button("Daten auslesen");

        holen.addActionListener(this);

        rows = new Vector();

        tab = new JTable();

        JScrollPane jp = new JScrollPane(tab);

        Vector names = new Vector();

        names.addElement("Spalte1");

        names.addElement("Spalte2");

        names.addElement("Spalte3");

        add("Center", data);

        add("South", holen);

        setSize(400, 400);

        setVisible(true);

    }


    /**

     * @param args the command line arguments

     */

    public static void main(String[] args) {

        // TODO code application logic here

        Main m = new Main();

    }

    public void actionPerformed(ActionEvent e) {

      readDB();

}

    public void readDB() {

          try {

            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

        }

        catch(ClassNotFoundException ex) { data.append(ex.getMessage()); }

        try {

            Connection c = DriverManager.getConnection("jdbc:odbc:DBANK");//Datenbank ist der name, den wir unter odbc verwaltung bei datenquellname eingaben

            Statement stmnt = c.createStatement();

            ResultSet rs = stmnt.executeQuery("select * from datenbank;"); // from...."name der exel datei"

            ResultSetMetaData rsdata = rs.getMetaData();

            int spalten = rsdata.getColumnCount();

            data.append("a\t|b\t|c\t|\n");

            while(rs.next()) {    // rs.next setz cursor immer auf nächste zeile

                for(int i = 1; i<=spalten; i++) {

                    data.append(String.valueOf(rs.getInt(i)) + "\t|");

                }

                data.append("\n");

            }

        }

        catch(SQLException ex) { data.append(ex.getMessage()); }

Bitte code tags benutzen. //Jaraz

Hallo

hängst du an einer bestimmten Stelle. Oder verstehst du das ganze Programm nicht?

Wo stammt dieses Beispiel her? Vielleicht steht ja da noch was darüber. Da gibt es vielleicht auch einen Datenbankdump.

Grob gesagt wird ein Fenster erzeugt in das Fenster kommt eine TextArea da werden die Daten aus der Datenbank hineingeschrieben. Dieses passiert aber erst wenn man auf den Button geklickt hat.

Vielleicht noch einen Tipp versuche erstmal etwas Leichteres bevor du dich mich der Anbindung an eine Datenbank beschäftigst.

unser teacher hat uns das gegeben....wir sollen uns daran versuchen.

der anfang krieg ich schon hin, aber dann ab read db

Was heisst, "Ihr sollt Euch daran versuchen"? Es wird ja nicht so gewesen sein, dass der Lehrer eines Tages reingekommen ist, gesagt hat "So, wir fangen jetzt mit Java an, hier ist Quellcode, macht was". Und wo hängts? Hier wird keiner Deine Hausaufgaben machen, aber wenn Du konkrete Fragen hast, werden die beantwortet, sofern es einer weiss.

Peter

den bereich check ich nich

public void readDB() {

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundException ex) { data.append(ex.getMessage()); }

try {

Connection c = DriverManager.getConnection("jdbc:odbc:DBANK");//Datenbank ist der name, den wir unter odbc verwaltung bei datenquellname eingaben

Statement stmnt = c.createStatement();

ResultSet rs = stmnt.executeQuery("select * from datenbank;"); // from...."name der exel datei"

ResultSetMetaData rsdata = rs.getMetaData();

int spalten = rsdata.getColumnCount();

data.append("a\t|b\t|c\t|\n");

while(rs.next()) { // rs.next setz cursor immer auf nächste zeile

for(int i = 1; i<=spalten; i++) {

data.append(String.valueOf(rs.getInt(i)) + "\t|");

}

data.append("\n");

Ich würde dir Raten fange mal an Zeile für Zeile durchzugehen und mit Kommentaren versehen. Wenn du an bestimmten Stellen nicht weiter kommst dann nutze mal die API Doc von Sun http://java.sun.com/j2se/1.5.0/docs/api/index.html. Solltest du dann noch nicht weiter kommen kannst du ja hier noch mal nachfragen wenn es an einer bestimmten Stelle nicht weiter geht.

Habt ihr keine Kursunterlagen wo so was drin stehen könnte?

Bitte verwende die Code Tags da kann man Sourcecode besser lesen.

Servus,

ok, das könntest Du mit den von meinen Vorrednern genannten Quellen zwar gut selbst recherchieren, aber da es ein überschaubarer Bereich ist, hier mal die Erklärung:


public void readDB() {
try {
// Hier wird der benötigte JDBC-Treiber geladen
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException ex) {
data.append(ex.getMessage());
}
try {
// Erstellen der Verbindung zur Datenbank DBANK über die JDBC-ODBC-Bridge
Connection c = DriverManager.getConnection("jdbc:odbc:DBANK");//Datenbank ist der name, den wir unter odbc verwaltung bei datenquellname eingaben
// Statement erzeugen, das wir dann auf der Datenbank absetzen können
Statement stmnt = c.createStatement();
// Statement absetzen und Ergebnisse im ResultSet übernehmen
ResultSet rs = stmnt.executeQuery("select * from datenbank;"); // from...."name der exel datei"
// MetaDaten des ResultSets ermitteln
ResultSetMetaData rsdata = rs.getMetaData();
// Anzahl Spalten aus den MetaDaten ermitteln
int spalten = rsdata.getColumnCount();
// data ist ein StringBuffer? Anhängen der Buchstaben a-c, getrennt durch Tab plus ein Zeilenumbruch
data.append("a\t|b\t|c\t|\n");
// Durchlaufen der Ergebnisse und für jede Spalte das Ergebnis ermitteln und an data anhängen. Es handelt sich bei den Werten um int-Values
while(rs.next()) { // rs.next setz cursor immer auf nächste zeile
for(int i = 1; i<=spalten; i++) {
data.append(String.valueOf(rs.getInt(i)) + "\t|");
}
data.append("\n");
[/PHP]

So, und jetzt noch flugs die Quellen gelesen, da steht nämlich noch mehr drin, das Dir weiterhilft, dann passt das.

Peter

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.