Hallo Gemeinde,
was kann hier falsch sein ?
der Fehler müsste dsich irgendwo hier befinden, ich kann ihn aber beim besten Willen nicht finden :-(
Kann mir jmd. einen hilfeerweisenden Tip geben ? Ich habe keine Ahnung.
Gruß Matze
was kann hier falsch sein ?
Code:
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
public class SqlDirektSelect extends Frame implements ActionListener{
//GUI-Komponenten definieren
Button ausfuehren = new Button("Ausführen");
TextArea ein = new TextArea("SELECT", 3, 80);
TextArea ausgabe = new TextArea();
//DBMS-VAriable
static Connection c;
Statement s;
static String treiber, dburl;
public SqlDirektSelect(){
super("SQL Direkt"); // Fensterbezeichnung
Panel eingabe = new Panel (new BorderLayout());
Panel knopf = new Panel (new FlowLayout(FlowLayout.LEFT));
knopf.add(ausfuehren);
eingabe.add(knopf, "North");
eingabe.add(ein, "Center");
add(eingabe, "North");
add(ausgabe, "Center");
addWindowListener(new WindowAdapter() { //Window Exit
public void windowClosing(WindowEvent e) {
System.exit(0); }} );
ausgabe.setEditable(false); //Ausgabefenster für Eingaben sperren
ausfuehren.addActionListener(this); //Eventlistener registrieren
setSize(500, 400); // Fenstergröße
setVisible(true); // Fenster anzeigen
try {
// Verbindungsaufnahme mit der Datenbank
//DBMS-Treiber registrieren, Verbindung mit Datenbank herstellen
// Variablen deklarieren
/* PostgreSQL */
treiber = "org.postgresql.Driver";
// dburl = "jdbc:postgresql://host:port/database";
dburl = "jdbc:postgresql://127.0.0.1:5432/postgres";
PreparedStatement smt;
Class.forName(treiber);
String g[] = new String[2];
g[0] = "postgres";
g[1] = "test0816";
c = DriverManager.getConnection(dburl, g[0], g[1] );
s = c.createStatement();
}
catch (Exception ex){
ausgabe.setText("Fehler:\n" + ex.getMessage());
}
}
public void actionPerformed(ActionEvent e) {
String sql = ein.getText();
ResultSet r;
// try Block
try {
r = s.executeQuery(sql); //SQL SELECT ausführen
ResultSetMetaData rm = r.getMetaData();
int x = rm.getColumnCount();
ausgabe.setText("");
for(int i=1; i <= x; i++) {
ausgabe.append(rm.getColumnName(i));
if (i != x) ausgabe.append(", ");
else ausgabe.append("\n");
}
while(r.next()) {
for (int i = 1; i <= x; i++) {
ausgabe.append(r.getString(i));
if (i != x) ausgabe.append(", ");
else ausgabe.append("\n");
}
}
}
// catch Block
catch (Exception ex) {
ausgabe.setText("SQL: " + sql + "\nFehler:\n" + ex.getMessage());
}
}
// Hauptprogramm
public static void main(String[] args){
new SqlDirektSelect(); // GUI-Start
}
}
der Fehler müsste dsich irgendwo hier befinden, ich kann ihn aber beim besten Willen nicht finden :-(
Code:
...
try {
// Verbindungsaufnahme mit der Datenbank
//DBMS-Treiber registrieren, Verbindung mit Datenbank herstellen
// Variablen deklarieren
/* PostgreSQL */
treiber = "org.postgresql.Driver";
// dburl = "jdbc:postgresql://host:port/database";
dburl = "jdbc:postgresql://127.0.0.1:5432/postgres";
PreparedStatement smt;
Class.forName(treiber);
String g[] = new String[2];
g[0] = "zyx";
g[1] = "xyz";
c = DriverManager.getConnection(dburl, g[0], g[1] );
s = c.createStatement();
}
catch (Exception ex){
ausgabe.setText("Fehler:\n" + ex.getMessage());
}
...
Kann mir jmd. einen hilfeerweisenden Tip geben ? Ich habe keine Ahnung.
Gruß Matze