# Keine Ausgabe der Daten



## Dolce (5. Jan 2009)

Hallo Jungs...., 
bin leider ziemlicher Anfänger und hab eine Frage...!
Also zunächst meldet er mich, dass ich mich erfolgreich mit meiner
Datenbank verbunden haben, aber ich bekomm keine Daten ausgeliefert!
Wenn ich aber in MySQL gehe, funktioniert es, also es muss am Java - Code liegen!
Vielleicht kann mir ja jemand helfen....!

Danke Gruß
-----------------------------------------------------
import java.sql.*;
import java.io.*;

public class TestJDBC
{
    public static void main(String[] args)
   {

    //Connection-Objekt anlegen:
    Connection conn = null;

    try
    {
     //Lade den JDBC Treiber:
     String driverName = "com.mysql.jdbc.Driver";
     Class.forName(driverName);

     //erstelle eine Verbindung zur Datenbank "schluesselprogramm"
     String serverName ="localhost";
     String mydatabase ="schluesselprogramm";

     //jetzt eine JDBC url:
     String url = "jdbc:mysql://" + serverName + "/" + mydatabase;
     String username = "root";
     String password ="VR6Power";

      //jetzt verbinden:
     conn = DriverManager.getConnection(url, username, password);
     System.out.println("\nDatenbank " + mydatabase + " erfolgreich verbunden");
              Statement stmt = conn.createStatement();
              ResultSet rs = stmt.executeQuery("Select pname from pverz");
              String message = rs.getString("");
              System.out.println("Ausgabe" + message);

    }
     //und wenns nicht geklappt hat, 2 Gruende moeglich:
    catch (ClassNotFoundException e)
    {
      System.out.println("\nKann den Datenbanktreiber nicht finden\n");
    }
      catch (SQLException e)
    {
      System.out.println("\nKann die Datenbank nicht verbinden!\n");
    }

   }


}


----------



## SlaterB (5. Jan 2009)

schon ein Tutorial zum JDBC-Zugriff angeschaut?
bevor man auf einen Eintrag in einem ResultSet zugreifen kann, muss man next() aufrufen,
und rs.getString(""); wird wahrscheinlich nix sinnvolles liefern,
was versprichst du dir von diesem Befehl?

normalerweise gibt man dort einen ordentlichen Spaltennamen an, 
oder verwende eine Nummer 0, 1, 2, 3 wenn du den Spaltennamen nicht hast oder z.B. select count(*) angefragt hast, 
evtl. fängt die Zählung bei 1 an und nicht bei 0,

alles ausprobieren oder im Tutorial nachzulesen

--------

> catch (SQLException e) 
> { 
> System.out.println("\nKann die Datenbank nicht verbinden!\n"); 
> } 


gib lieber die Exception aus:
e.printStackTrace();

dann bekommst du wertvolle Hinweise


----------



## dolce (5. Jan 2009)

O.k., 
danke schonmal, soweit hab ich das verstanden, 
nur 1 versteh ich noch nicht so ganz!
Er gibt mir erst aus, das er mich erfolgreich mit meiner "schluesselprogramm" - Datenbank verbunden hat!

Danach aber meldet er sofort, "Kann Datenbank nicht finden"??
Mmhh....


----------



## SlaterB (5. Jan 2009)

weil die Ausgabe 'Kann die Datenbank nicht verbinden!' völlig unpassend ist, eine SQLException kann alles mögliche sein, 

wie bereits vollständig thematisiert:



			
				SlaterB hat gesagt.:
			
		

> --------
> 
> > catch (SQLException e)
> > {
> ...


----------

