Was ist hier falsch ?

mkoeni1

Erfahrenes Mitglied
Hallo Gemeinde,

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
 
ein paar mehr infos, vor allem auch was du überhaupt für einen Fehler meinst wären schon hilfreich, wenn man dir helfen will :)
 
Hallo,


folgender Fehler wird in dem Prog ausgegeben:

Fehler:
[Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben


Mich interessiert vorallem, wo muss die Datenbank Kurse angelegt wein. In MySQL, PostgreSQL, in Access oder wo

Matze
 
Wenn ich das richtig sehe verwendest du einen Treiber für PostgreSQL. Dann musst du auch in Postgres eine anlegen.
Schau Dir doch mal im Forum (Suche) die vielen Themen mit Datenbanken und Verbindung an. Einfach zu verwenden ist MySQL in Verbindung mit MySQL-Front.

Gruß

Romsl
 
Zurück