Datenbankanbindung + xhtml Ausgabe

andreas2000

Mitglied
Hallo,

kann mir jemand ein Beispiel oder einen Link schicken, wo in Java auf eine Datenbank (z.B. mySQL) zugegriffen wird (mit dbCon, jdbc usw.), von dort eine sql Abfrage durchgeführt wird, (z.B. select a, b from table order by b) und nun das WICHTIGSTE, diese Tabelle als xhtml File ausgegeben wird?

Wäre mir eine große Hilfe,

Danke,
Andreas.
 
Hallo Andreas,

hier ist der Code für die Anmeldung an eine MySQL Datenbank:
Datendefinitionen:

public static Connection con = null; // Objekt für die Datenbankverbindung
public static Statement stmt;

// Felder für den Verbindungsaufbau zu MySQL
public static final String user = "root";
// public static final String kennwort = null;
public static String kennwort = null;
public static final int portnumber = 3306; // Pfad auf einen Rechner
public static final String servername = "localhost"; // IP Adresse meines Rechners
public static final String databasename = "ausgaben"; // Name der Datenbank

Programmcoding:

// Treiber laden:
Class.forName("com.mysql.jdbc.Driver");

// Datasource Konfigurieren
MysqlDataSource mds = new MysqlDataSource();

mds.setUser(user);
if (kennwort == null)
{
mds.setPassword(JOptionPane.showInputDialog( "Kennwort eingeben" ));
}
else
{
mds.setPassword(kennwort);
}
mds.setPortNumber(portnumber); // Pfad auf einen Rechner
mds.setServerName(servername); // IP Adresse meines Rechners
mds.setDatabaseName(databasename); // Name der Datenbank

try {
con = mds.getConnection();
// Autocommit deaktivieren
// con.setAutoCommit(false);

// Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
catch (SQLException e)
{
while (e != null) {
System.err.println(e.toString());

if (e.getErrorCode() == 1045 || e.getSQLState() == "28000")
{System.err.println("Kennwort falsch für Benutzer " +user
+"\n Server: " +servername
+"\n Datenbank: " +databasename);}

e = e.getNextException();
}
return false;
}
return true;
}

Beispiel für einen Select:

//**********************************************************
// Warengruppenbezeichnung holen 08.11.2005
// SQL Befehl über eine String aufgebaut!! getestet 8.11.05
//**********************************************************
public String HolWGRBez (int wgrnr) throws Exception
{
// SQL Befehl über eine Strin gzusammensetzen
String query = "select bez from wgr where nummer =" +
wgrnr;
GlobaleDaten.stmt = GlobaleDaten.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

ResultSet rs = GlobaleDaten.stmt.executeQuery(query);
System.out.println("Anzeige Warengruppenbezeichnung: ");
while (rs.next()) {
String wgrbez = rs.getString("bez");
System.out.println(" " + wgrbez);
return wgrbez;
}

return "Warengruppe nicht gefunden";
}

Gruß
Harald
 
andreas2000 hat gesagt.:
Danke Harald,

somit fehlt noch die Ausgabe als xhtml Seite.

Gruß,
Andreas.
Du wirst doch wohl in der Lage sein eine Ausgabe hinzukriegen oder Dich zumindest mit Hilfe der Suchfunktion, bzw. Google darueber zu informieren wie Du vorzugehen hast. XHTML ist ja kein grosses Problem, und eine Ausgabe an sich ja wohl auch nicht.
:rolleyes:
 
BLOEBAUM hat gesagt.:
Hallo Andreas,

hier ist der Code für die Anmeldung an eine MySQL Datenbank:
Datendefinitionen:

public static Connection con = null; // Objekt für die Datenbankverbindung
public static Statement stmt;

// Felder für den Verbindungsaufbau zu MySQL
public static final String user = "root";
// public static final String kennwort = null;
public static String kennwort = null;
public static final int portnumber = 3306; // Pfad auf einen Rechner
public static final String servername = "localhost"; // IP Adresse meines Rechners
public static final String databasename = "ausgaben"; // Name der Datenbank

Programmcoding:

// Treiber laden:
Class.forName("com.mysql.jdbc.Driver");

// Datasource Konfigurieren
MysqlDataSource mds = new MysqlDataSource();

mds.setUser(user);
if (kennwort == null)
{
mds.setPassword(JOptionPane.showInputDialog( "Kennwort eingeben" ));
}
else
{
mds.setPassword(kennwort);
}
mds.setPortNumber(portnumber); // Pfad auf einen Rechner
mds.setServerName(servername); // IP Adresse meines Rechners
mds.setDatabaseName(databasename); // Name der Datenbank

try {
con = mds.getConnection();
// Autocommit deaktivieren
// con.setAutoCommit(false);

// Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
catch (SQLException e)
{
while (e != null) {
System.err.println(e.toString());

if (e.getErrorCode() == 1045 || e.getSQLState() == "28000")
{System.err.println("Kennwort falsch für Benutzer " +user
+"\n Server: " +servername
+"\n Datenbank: " +databasename);}

e = e.getNextException();
}
return false;
}
return true;
}

Beispiel für einen Select:

//**********************************************************
// Warengruppenbezeichnung holen 08.11.2005
// SQL Befehl über eine String aufgebaut!! getestet 8.11.05
//**********************************************************
public String HolWGRBez (int wgrnr) throws Exception
{
// SQL Befehl über eine Strin gzusammensetzen
String query = "select bez from wgr where nummer =" +
wgrnr;
GlobaleDaten.stmt = GlobaleDaten.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

ResultSet rs = GlobaleDaten.stmt.executeQuery(query);
System.out.println("Anzeige Warengruppenbezeichnung: ");
while (rs.next()) {
String wgrbez = rs.getString("bez");
System.out.println(" " + wgrbez);
return wgrbez;
}

return "Warengruppe nicht gefunden";
}

Gruß
Harald

Bei der Select Abfrage bitte "GlobaleDaten." löschen. Ich hatte die Daten ursprünglich in einer Klasse und habe auf die Klassendaten zugegriffen. Das entsprach aber nicht den Grundsätzen der Objektorientierten Programmierung.
 
Hallo,

muss ich bei der Ausgabe eines XHTML Dokuments die System.out.println("<? xml ...>" ...Methode verwenden, oder benutze ich den BufferedWriter mit bw.write("<? xml ...>"): ...?

Muss ich bei der Ausgabe der Ergebnistabelle den ganzen xhtml Kopf mitangeben, oder reicht es aus, nur die zu erstellende tabelle beginend mit <table>... auszugeben?

Danke,
gruß,
Andreas.
 
Zur 2. Frage:
Wenn der Output von einem HTML - Parser (wie ein Browser) richtig gelesen werden soll, dann musst du auch allles angeben.
 
Zurück