# Auslesen von Tabellen einer MYSql Datenbank



## weirer (17. Sep 2007)

Hi!
Ich mach gerade einen Login in Java mit Datenbankanbindung
Wie kann ich da in einer Tabelle suchen ob der user mit dem zugehörigem passwort existiert?
meine Spaöten heißen: user und passwrd
Lg.


----------



## SlaterB (17. Sep 2007)

select from usertabelle where user = .. usw;

SQL lernen?


----------



## weirer (17. Sep 2007)

Hi!
Das in mysql kann ihc eh aber was muss ich da im java prog schreiben?

Mein bisheriger code ist:


```
char[] aPPw = pfApw.getPassword();
    String  aPw = new String(aPPw);
    String user = tfAdmin.getText();
    
    boolean uready = false;
    boolean pwready = false;
    
    Connection connection = null;
    // Hash hash = new Hash("MD5");
    // System.out.println(hash.do_checksum(aPw));
    try {
        // Load the JDBC driver
        String driverName = "org.gjt.mm.mysql.Driver"; // MySQL MM JDBC driver
        Class.forName(driverName);
    
        // Create a connection to the database
        String serverName = "mysql.lima-city.de";
        String mydatabase = "db_24282_9";
        String url = "jdbc:mysql://" + serverName +  "/" + mydatabase; // a JDBC url
        String username = "USER24282";
        String password = "******";
        connection = DriverManager.getConnection(url, username, password);
        
        // Hierher soll der Teil wo überprüft werden soll, ob die Zugangsdaten stimmen!!!!
        
    } catch (ClassNotFoundException e) {
        // Could not find the database driver
    } catch (SQLException e) {
        // Could not connect to the database
    }
```


----------



## SlaterB (17. Sep 2007)

nun, auch das ist etwas zum grundsätzlichen (Nach-) Lesen,
ist doch für niemanden hilfreich das hier stumpf zu wiederholen?

http://www.galileocomputing.de/openbook/javainsel6/javainsel_20_004.htm
20.4 Eine Beispielabfrage
bzw.
20.6.2 Ergebnisse einer Abfrage in ResultSet


----------



## tuxedo (17. Sep 2007)

btw: der org.gjht.mm.mysql Treiber ist mittlerweile sehr alt und auf vielen Systemen läuft er ohne Bugfix nicht. Guckst du hier:
http://www.java-forum.org/de/topic52310_mm-mysql-wieweit-noch-funktionsf-hig.html

Wenn dir die GPL-Lizenz nix ausmacht nimm doch besser den Connector/J von der mysql.com Webseite ...


----------



## weirer (18. Sep 2007)

ich hab mittlerweile schon 4 verschiedene teiber probiert, aber bisher hat noch nix gefunzt!
Eine lizenz will ich aber auch nciht kaufen, da ich sie mir als 15-jähriger schüler mnciht leisten kann!
Lg.


----------



## SilentJ (18. Sep 2007)

Schau mal hier:

www.torsten-horn.de/techdocs/java-sql.htm#MySQL

Und wenn Du gerade dabei bist und ich nicht davon ausgehe, dass Du geschäftstätig bist und kommerzielle Produkte vertreiben möchtest, schaust Du mal bei Wikipedia unter GPL nach. Lizenz ist nicht gleich Lizenz.  :wink: 

Michael


----------



## tuxedo (18. Sep 2007)

Wobei ja GPL erstmal nix mit kommerziell zu tun hat (siehe Wikipedia-Link weiter unten). 

@Weirer
Das Wörtchen "Lizenz" ist nicht sofort mit "Kosten" für dich verbunden:
Sofern du dein Programm für dich privat nutzen willst, es nicht veröffentlichst und im Internet verteilst, kannst du ruhig den Connector/J Treiber von MySQL benutzen. Die Nutzung des GPL lizensierten Treibers ist kostenlos.

Solltest du dein Programm außerhalb deines privaten Nutzens veröffentlichen und weitergeben wollen, dann solltest du vorher das hier lesen:
http://de.wikipedia.org/wiki/GNU_General_Public_License

Wobei, lesen solltest du das so oder so ;-) Schaden tut's nicht ...


----------



## weirer (18. Sep 2007)

Hi!
Ich hab jetzt zwar den Treiber runter geladen aber irgendwie funzt der nicht ganz so wie ich will
hier nochmal mein code:

```
connection connection = null;
     //Hash hash = new Hash("MD5");
     //System.out.println(hash.do_checksum(aPw));
    try {
        // Load the JDBC driver
        String driverName = "com.mysql.jdbc.Driver"; // MySQL MM JDBC driver
        Class.forName(driverName);
    
        // Create a connection to the database
        String serverName = "mysql.lima-city.de";
        String mydatabase = "db_24282_9";
        String url = "jdbc:mysql://" + serverName +  "/" + mydatabase; // a JDBC url
        String username = "USER24282";
        String password = "******";
        connection = DriverManager.getConnection(url, username, password);
        Statement stmt = connection.createStatement();
        ResultSet rs = stmt.executeQuery( "SELECT * FROM user where user = "+user);
        String pw = rs.getString("passwrd");
        if(aPw.equals(pw))
        {
            System.out.println("Alles richtig eingegeben!");
            ACP acp = new ACP();
            this.setVisible(false);
            acp.setVisible(true);
        }
        else
        {  
            JOptionPane.showMessageDialog(this, "Der eingegebene Username oder das Passwort sind ungültig!!", "Fehler", JOptionPane.ERROR_MESSAGE);
            System.out.println("Alles falsch eingegeben!");
        }
        
    } catch (ClassNotFoundException e) {
       System.out.println("fehler1"); 
// Could not find the database driver
    } catch (SQLException e) {
        System.out.println("fehler2");// Could not connect to the database
    }
```
er gibt immer fehler1 aus

Lg.


----------



## tuxedo (18. Sep 2007)

Und jetzt sag bloß du bist noch nicht auf die Idee gekommen zu schauen wo der Fehler im Code auftritt?

Schau mal in Zeile 34 und 35...
--> Clould not find the database driver ...

Hast du den Treiber in den Classpath übernommen? Vermutlich nicht, oder wenn dann nicht richtig.

- Alex


----------



## weirer (18. Sep 2007)

doch in hab den treiber sogar gefunden und so aber irgendwie wie funzt des trotzdem ned
ich weiß aber dass er den treiber ned findet also so blöd bin ich auhc nciht!


----------



## tuxedo (18. Sep 2007)

Na und warum schreibst du dann nicht?!

Benutzt du eine IDE? Wenn ja: wie hast du den Treiber eingebunden?


----------



## weirer (18. Sep 2007)

Hi!
Ja ich benutze Netbeans
1. hab ich den teriber wie angegeben in alle jre ordner gegeben und 2. hab ich auch den treiber in mein projektordner gegeben!
Also hab ich die ganzen packages gefunden aber irgendwie hat das ganze niht ganz gefuzt!
Lg.


----------



## HoaX (18. Sep 2007)

woher hast du die information dass das so funktionieren sollte?

füge die jar korrekt deinem classpath zu und voila! bei eclipse z.B. indem du die datei in den buildpath aufnimmst.



			
				weirer hat gesagt.:
			
		

> Also hab ich die ganzen packages gefunden aber irgendwie hat das ganze niht ganz gefuzt!


spitzenlogik! weil der osterhase weiß wo er die eier versteckt hat weiß es das kind dass die dinger sucht natürlich auch ...


----------



## weirer (18. Sep 2007)

hab ich gemacht!
Lg.


----------



## HoaX (18. Sep 2007)

scheinbar nicht, sonst hättest du das problem nicht


----------



## weirer (19. Sep 2007)

Hi!
ich habs aber eigendlich so wie auf mysql.com steht gemacht!
also in den project folder und dann auch uns jre verzeichnis unter ext/lib
Lg.


----------



## tuxedo (19. Sep 2007)

Herrgott... Du sollst nicht deine JRE-Installation mit irgendwelchen Treibern und Libraries verpfuschen. Nimm den Treiber in den Classpath deiner Anwendung mit auf und gut ist. Aber nicht für die ganze JRE-Installation.

- Alex


----------



## weirer (19. Sep 2007)

hi!
das mit der jre hab ich so wie so unabsichtlich in eine veraltete version mitaufgenommen also das hat sich erledigt
aber ich habs ja auch im classpath gehabt, aber es hat nicht gefunkt"
das ist ja mein problem
lg!


----------



## tuxedo (19. Sep 2007)

Hallo? Liest du nur mit einem Auge mit? Wenn du die Sache mit dem Classpath richtig gemacht hast, dann funktionierts auch. Wenns nicht funktioniert, dann hast du's auch nicht richtig gemacht.

Erwarte jetzt nicht dass wir hellsehen können oder wir dir alle Schritte die du gemacht hast aus der Nase ziehen. Auch wärst du der einzigste bei dem ein "korrektes einfügen in den Classpath" zu einer "Class Not Found Exception" führt. 
Du solltest uns also schon selbst möglichst detailiert mitteilen was du wie und wo genau gemacht hast. Nur so lässt sich rausfinden wo der Fehler liegt. 

Also, schreib für den absolut letzten Voll-Noob auf, wie du den Treiber in den Classpath aufgenommen hast. Gerne auch mit Screenshots.

- Alex


----------



## weirer (19. Sep 2007)

ok also jetzt beschreib ichs mal mit den ganzen pfaden meiner laufwerke:

Das Projektordner hab ich auf: G:\Programme\
Projektname: ACP
Pfad zum Treiber: G:\Programme\ACP
Im ACP vorhandene ordner: build, docs, nbproject, src, test

Passt das oder nciht?


----------



## tuxedo (19. Sep 2007)

Mein letzter Versuch:



			
				alex0801 hat gesagt.:
			
		

> Also, schreib für den *absolut letzten Voll-Noob* auf, *W I E* du den Treiber in den *Classpath *aufgenommen hast. Gerne auch mit *Screenshots*.



Wenn jetzt nix anständiges kommt musst du dir nen anderen suchen der dir in der Nase mit nem Schürhaken bohrt...


----------



## weirer (19. Sep 2007)

ok dann jetzt mit screenshots!

Screen eins: der projectfolder von außen:





Screen zwei: der projectfolder von innen:





ich habe mir den treiber runter geladen und dann in den projectfolder entpackt!
So wie es auf den screens zu sehen ist

ich hoffe es passt diesmal!#
Lg-


----------



## tuxedo (19. Sep 2007)

Stellst du dich so doof an oder tust du nur so?

a) Die Screenshots lassen sich nicht vergrößern
b) Mich interessiert nicht was wie und wo auf deiner platte rumfährt. Es geht schon seit x-Posts in diesem thread um den C L A S S P A T H. Der Treiber kann *irgendwo* liegen. Wo ist egal. Hauptsache er ist im CLASSPATH aufgeführt.

Vielleicht solltest du mal die Forumsuche mit "classpath" + "netbeans" füttern ...


----------



## weirer (19. Sep 2007)

hi!
ja im src\acp verzeichnis ist die .java datai und im build\classes\acp
die .class datei
im src/ hab ich schon den treiber aber ich probiers mal auch ins classes verzeichnis zu tun!
Lg.


----------



## tuxedo (20. Sep 2007)

Du sollst nicht "probieren" den Treiber einfach irgendwo hin zu kopieren. Du sollst jetzt mal die Forumsuche nach "neatbeans" und "classpath" durchforsten. Weil ich bin mir mittlerweile sicher dass du absolut keinen schimmer hast was ein Classpath ist und wie man den einstellt/konfiguriert.

Ohne dieses wissen wirst du's nicht weit bringen, glaub mir.

- Alex


----------

