puppet Geschrieben 16. April 2006 Teilen Geschrieben 16. April 2006 also ich hab das zwar schon in einem anderen thema als antowrt gepostet, ich hoffe das wird mir jetzt nicht uebel genommen, wenn ich ein eigenes thema daraus mache ^^ Also, ich hab da auch mal eine Frage. Ich bin gerade dabei einen Vokabeltrainer zu schreiben, der als Datenbank eine MySql Datenbank benutzen soll. Es soll möglich sein, das man vokabeln hinzufuegt, löscht usw. (Prüfungsmodus ist auch vorgesehen, halt das uebliche alles) mein Problem ist jedoch, das ich per javaapplet nicht auf die Datenbank komme. import java.awt.*; import java.io.*; import java.sql.*; public class auslesen { private Connection con = null; private Statement s = null; private Connection connect() { String dbdriver = "com.mysql.jdbc.Driver"; String dburl = "jdbc:mysql:linux13.toptip.de"; String dbuser = "username"; String dbpassword = "passwort"; Class.forName(dbdriver); return DriverManager.getConnection (dburl, dbuser,dbpassword); } } das hab ich mal so nachgebaut, jedoch kommt schon beim compilieren eion fehler mit verweis auf die zeile mit dem getConnection... wär echt super wenn mir jemand helfen koennte oder mir ein paar tipps zum umgang mit mysql db's ueber java geben koennte. gruß p.s. ich hatte geplant das applet auf meinem webspace laufen zu lassen, auf dem gleichens erver wie der space liegta uch die datenbank. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ramses_PyramidenVerleih Geschrieben 16. April 2006 Teilen Geschrieben 16. April 2006 das hab ich mal so nachgebaut, jedoch kommt schon beim compilieren eion fehler mit verweis auf die zeile mit dem getConnection... Wie lautet denn die fehlermeldung beim Compilieren? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
puppet Geschrieben 16. April 2006 Autor Teilen Geschrieben 16. April 2006 java:19: unreported exception java.sql.SQLException; must be caught or declared to be thrown return DriverManager.getConnection (dburl, dbuser,dbpassword); oÔ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jasper Geschrieben 17. April 2006 Teilen Geschrieben 17. April 2006 die fehlermeldung ist doch sehr eindeutig. du hast das komplette exceptionhandling vergessen. sowohl Class.forName() als auch DriverManager.getConnection() können exceptions werfen. im einfachsten fall einfach einen try/catch()-block um beide statements: try { Class.forName(dbdriver); return DriverManager.getConnection (dburl, dbuser,dbpassword); } catch (Exception e) { System.err.println(e); } alternativ kann auch die deklaration methode connect() ändern: private Connection connect() throws Exception dann muss allerdings das exception-handling weiter oben erfolgen. du solltest dich allerdings vorher mit den grundlagen vertraut machen, exception-handling gehört zu den grundlagen. -j Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
puppet Geschrieben 17. April 2006 Autor Teilen Geschrieben 17. April 2006 import java.awt.*; import java.io.*; import java.sql.*; public class auslesen { private Connection con = null; private Statement s = null; private Connection connect() { String dbdriver = "com.mysql.jdbc.Driver"; String dburl = "jdbc:mysql:linux13.toptip.de"; String dbuser = "user"; String dbpassword = "pw"; try { Class.forName(dbdriver); return DriverManager.getConnection (dburl, dbuser,dbpassword); } catch (Exception e) { System.err.println(e); return e; } } } [...] java:25: incompatible types found : java.lang.Exception required: java.sql.Connection return e; :\ sobald ich die verbindung hab und weiß wie ich per applet aucvh befehle an die datenbank schicken kann, kann ich den rest alleine.... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 17. April 2006 Teilen Geschrieben 17. April 2006 Du solltest dir dringend bevor du mit deinen Versuchen zur Dsatenbankanbindung fortfährst nochmal die Grundlagen von Java und objektorientierter Programmierung ansehen. Eine Exception innerhalb eines Catch-Blocks als Rückgabewert zurückzugeben zeugt von mangelndem bis nicht vorhandenem Verständnis der grundlegenden Sprachkonzepte. Ansonsten wirst du immer wieder an den simpelsten Stellen mit Problemen zu tun haben, die überhaupt nichts mit deinem aktuellen Anwendungsfall zu tun haben und dich verdammt viel Zeit und Aufwand kosten. Erst verstehen, was man tut, dann tatsächlich mit der Arbeit anfangen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
puppet Geschrieben 17. April 2006 Autor Teilen Geschrieben 17. April 2006 wie gesagt sobald ich die vebrindung hab, komm ich auch mit dem rest klar.... kannst du mir dabei helfen oder eher nicht ? ich steh naemlich unter zeitdruck, da das ein teilmeines abschlussprojektes ist, das ich in weniger als zwei wochen abgeben muss... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
M.A.Knapp Geschrieben 17. April 2006 Teilen Geschrieben 17. April 2006 Tatsache ist, daß jemand, der Java beherrscht, dieses Problem in null komma nix beheben kann. Es ist nämlich ein reines Java Problem. try { Class.forName(dbdriver); return DriverManager.getConnection (dburl, dbuser,dbpassword); } catch (Exception e) { System.err.println(e); return null; } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 17. April 2006 Teilen Geschrieben 17. April 2006 ... try { Class.forName(dbdriver); return DriverManager.getConnection (dburl, dbuser,dbpassword); } catch (SQLException e) { //Fehlerbehandlung } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
puppet Geschrieben 17. April 2006 Autor Teilen Geschrieben 17. April 2006 okd anke schonmal euch beiden, nun meine letzte frage. sagen wir ich will das ueber das applet nun eine anfrage an die mysql datenbank gesendet wird. halt ueber die ganz normale mysql syntax, wie genau laeuft das ab ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 17. April 2006 Teilen Geschrieben 17. April 2006 wie genau laeuft das ab ?Wieso suchst du nicht einfach mal über eine Suchmaschine deines Vertrauens ein wenig? Das geht deutlich schneller als hier ein Posting abzusetzen, auf die Antwort zu warten, Rückfragen zu stellen und so weiter. Als Anlaufstellen z.B.: http://java.sun.com/docs/books/tutorial/jdbc/index.html http://www.javaolympus.com/J2SE/Database/JDBC/JDBC.jsp http://www.stardeveloper.com/articles/display.html?article=2003090401&page=1 http://www.cs.unc.edu/Courses/wwwp-s98/members/thornett/jdbc/ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 18. April 2006 Teilen Geschrieben 18. April 2006 Statement stmt = DriverManager.getConnection (dburl, dbuser,dbpassword).createStatement(); ResultSet rs = stmt.executeQuery("Select benutzernummer from tbl_benutzer"); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
puppet Geschrieben 18. April 2006 Autor Teilen Geschrieben 18. April 2006 ok und sagen wir ich moechte "rs" also das ergebnis nun zeile fuer zeile ausgeben, gibt es da eine moeglichkeit wie in php z.B: das als array zu speichern und dann die einzelnen teile anszusprechen. zum beispiel $array[testspalte1] und das kannman ja dann leicht ueber eine whileschleife ausgeben.^ //edit ich wollte eigentlich erst aeine textdatei als datenbank nehmen, meint ihr das waer einfacher gewesen ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 18. April 2006 Teilen Geschrieben 18. April 2006 while (rs.next()){ System.out.println(rs.getInt(benutzernummer)); } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
puppet Geschrieben 19. April 2006 Autor Teilen Geschrieben 19. April 2006 --> ok habs grad geschafft, so laesst er sich compilieren. aber ioch lade es auf den space und fuehre es aus. und dann kommt "fehler beim laden des applets" http://www.the-puppet.de/Daten/Websites/javatest/Auslesen.html da liegt es und eigentlich sollte ermir jetzt den inhalt der spalte "vokabel" ausgeben... der code : import java.awt.*; import java.applet.*; import java.awt.*; import java.io.*; import java.sql.*; public class Auslesen extends Applet { private Connection con = null; private Statement s = null; String dbdriver = "com.mysql.jdbc.Driver"; String dburl = "jdbc:mysql://linux13.toptip.de"; String dbuser = "bn"; String dbpassword = "pw"; public void init () { } private Connection connect() { try { Class.forName(dbdriver); return DriverManager.getConnection (dburl, dbuser,dbpassword); } catch (Exception e) { System.err.println(e); return null; } } Statement stmt = DriverManager.getConnection (dburl, dbuser,dbpassword).createStatement(); ResultSet rs = stmt.executeQuery("Select * from vokabeln"); public void paint(Graphics g) { while (rs.next()) { g.drawString(" "+rs.getInt(vokabel),10,100); } } } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.