# Result einer Abfrage im Applet darstellen



## oettler (2. Feb 2005)

Hallo zusammen,
ich bin voll der Java-Anfänger.
Ich möchte das Ergebnis einer DB-Anfrage in einem Applet darstellen.
Bloß wie bzw. wo mach ich das. Auf der Konsole funktioniert das skript super, nur komm ich beim Aufruf über ne html site nicht weiter. Vielleicht könnte mir da jemand helfen.

Das skript ist so:

```
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.sql.*;


public class MyODBCConnection extends Applet 
{
	

	
	public static void main(String args[]) 
	{
		try
		{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			Connection connection = DriverManager.getConnection("jdbc:odbc:DoneSQL", "sa", "");
			Statement statement = connection.createStatement();
			
			dbout(statement);

			System.out.println("--- Alle Einträge ---");
			statement.executeQuery("SELECT * FROM done");
			dbout(statement);


			statement.close();
			connection.close();
			
			
		} catch(java.lang.ClassNotFoundException e)
		{
			System.out.println("JDBC-ODBC-Treiber nicht gefunden");
		} catch(java.sql.SQLException e)
		{
			System.out.println("Fehler beim Abfragen der Datenbank");
		}
	}

	private static void dbout(Statement statement) throws java.sql.SQLException
	{
		ResultSet result = statement.executeQuery("SELECT Mitarbeiter, Do, Datum, Stunden,Gegenkonto FROM done");

		while (result.next()) 
		{
			String Name = result.getString("Mitarbeiter");
			String Strasse = result.getString("Do");
			Date Datum = result.getDate("Datum");
			Double Stunden = result.getDouble("Stunden");
			String Gegenkonto = result.getString("Gegenkonto");
			

			System.out.println(Name + ", " + Strasse + ", " + Stunden + ", " + Gegenkonto + ", " + Datum);
		}

		result.close();
	}
	


	
}
```
Danke für jeden Tipp.
Katja


----------



## dotlens (2. Feb 2005)

Das findest du in der API
wichtig ist:

```
drawString("deinString", 'xPos', 'yPos');
```


----------



## abollm (2. Feb 2005)

dotlens hat gesagt.:
			
		

> Das findest du in der API
> wichtig ist:
> 
> ```
> ...



Ähem, warum schlägst du hier "graphics" vor?


----------



## dotlens (2. Feb 2005)

na weil er mit einem Applet ein Graphics Objekt hat mit dem er zeichnen kann??


----------



## oettler (2. Feb 2005)

muss ich das in der paint methode machen, weil so kennt er ja die drawString - Methode nicht.


----------



## dotlens (2. Feb 2005)

ja in der paint methode, mit dem Graphics Objekt


----------



## oettler (2. Feb 2005)

Wenn ich das so mache:
nur zum Test, dann schmeisst er mir nicht mal die zeile hello world raus.
Irgendwo klemmts hier bei mir noch.



```
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.sql.*;



public class Test5 extends Applet 
{
	
	static Connection conn;
	static Statement stat;
	static ResultSet result;
	

	
	public void init() 
	{
		try
		{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			conn = DriverManager.getConnection("jdbc:odbc:DoneSQL", "sa", "");
			stat = conn.createStatement();
			
			dbout(stat);

			
			stat.executeQuery("SELECT * FROM done");
			
			dbout(stat);

			stat.close();
			conn.close();
			
			
		} catch(java.lang.ClassNotFoundException e)
		{
			System.out.println("JDBC-ODBC-Treiber nicht gefunden");
		} catch(java.sql.SQLException e)
		{
			System.out.println("Fehler beim Abfragen der Datenbank");
		}
	}
	
	public void paint( Graphics g )
  	{
    		g.drawString( "Hello world!", 50, 25 );
  	}	

	private static void dbout(Statement statement) throws java.sql.SQLException
	{
		result = stat.executeQuery("SELECT Mitarbeiter, Do, Datum, Stunden,Gegenkonto FROM done");
		
		while (result.next()) 
		{
			String Name = result.getString("Mitarbeiter");
			String Strasse = result.getString("Do");
			Date Datum = result.getDate("Datum");
			Double Stunden = result.getDouble("Stunden");
			String Gegenkonto = result.getString("Gegenkonto");
			

			//out.println(Name + ", " + Strasse + ", " + Stunden + ", " + Gegenkonto + ", " + Datum);
		}

		result.close();
	}
	


	
}
```


----------



## abollm (2. Feb 2005)

@oettler:

Musst du denn irgendetwas zeichnen wg. Ausgabe deiner DB-Abfragen?

IMHO musst du doch eigentlich nur einen Ausgabebereich (z.B. mit Swing-Komponente JScrollPane) anlegen und das Ergebnis einer SELECT-Abfrage hierin anzeigen lassen.
Oder habe ich hier etwas Grundlegendes nicht richtig verstanden?


----------



## oettler (2. Feb 2005)

Also im ersten Schritt will ich mir das nur erst mal anzeigen lassen.
Aber das krieg ich halt nicht hin.


----------



## dotlens (2. Feb 2005)

kann keinen Fehler in deinem Code entdecken...

Abollm's Lösung ist wohl die einfachere...


----------



## abollm (2. Feb 2005)

Schau dir einmal den folgenden Thread genauer an:
http://www.java-forum.org/de/viewtopic.php?t=12636

Ist zwar etwas länger, aber der OP hat später dann versucht eine DB-Abfrage per Applet abzusetzen. Allerdings müsste in dieser Lösung noch ein Ausgabebereich eingebaut werden. Ich glaube, die Ausgabe erfolgte hiermit via Konsole.


----------



## oettler (2. Feb 2005)

Jo danke.
Muss ich mich durchwurschteln.
Manchmal bringt er auch den Fehler: Applet not initialized.


----------

