Received: from web5302.mail.yahoo.com (web5302.mail.yahoo.com [216.115.106.111]) by hub.org (8.10.1/8.10.1) with SMTP id e5SD8J137909 for ; Wed, 28 Jun 2000 09:08:19 -0400 (EDT) Message-ID: <20000628130813.11407.qmail@web5302.mail.yahoo.com> Received: from [133.15.144.14] by web5302.mail.yahoo.com; Wed, 28 Jun 2000 06:08:13 PDT Date: Wed, 28 Jun 2000 06:08:13 -0700 (PDT) From: radifan karami Subject: still confuse; no suitable driver To: pgsql-interfaces@postgresql.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Archive-Number: 200006/116 I'm sory if may question is covered in mailing-list archive. I found many same questions ( and solutions ) in that archive about driver problem when running jdbc-applet from browser. I use Linux, Postgresql 7 and Java 1.2.2. I'm new commer in Java, and try to make the first jdbc-applet code following the tutorial in java.sun.com. It's working perfectly by appletviewer. I put my applet code ( .class ) and postgresql.jar file in the web server ( in my home page ), separate from my database in may host. For example my homepage is http://www.xxx.ac.jp/~radif and my host name is graphium.xxx.ac.jp. There is an error "Javalang.ClassNotFoudException: No suitable driver ", when I run applet from browser. I read many solutions in archive, but still not understand. Please give a simple and clear solution. ** The html code is : Query Output Output from query select NAME, PRICE from COFFEES ** The applet code is : import java.applet.Applet; import java.awt.Graphics; import java.util.Vector; import java.sql.*; public class myapplet extends Applet implements Runnable { private Thread worker; private Vector queryResults; private String message = "Initializing"; public synchronized void start() { // Every time "start" is called we create a worker thread to // re-evaluate the database query. if (worker == null) { message = "Connecting to database"; worker = new Thread(this); worker.start(); } } /** * The "run" method is called from the worker thread. Notice that * because this method is doing potentially slow databases accesses * we avoid making it a synchronized method. */ public void run() { String url = "jdbc:postgresql://graphium.xxx.ac.jp/coffeebreak"; String query = "select COF_NAME, PRICE from COFFEES"; try { Class.forName("org.postgresql.Driver"); } catch(java.lang.ClassNotFoundException ex) { setError("Masalah pada driver: " + ex); return; } try { Vector results = new Vector(); Connection con = DriverManager.getConnection(url,"my", ""); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(query); while (rs.next()) { String s = rs.getString("COF_NAME"); float f = rs.getFloat("PRICE"); String text = s + " " + f; results.addElement(text); } stmt.close(); con.close(); setResults(results); } catch(SQLException ex) { setError("SQLException: " + ex); } } /** * The "paint" method is called by AWT when it wants us to * display our current state on the screen. */ public synchronized void paint(Graphics g) { // If there are no results available, display the current message. if (queryResults == null) { g.drawString(message, 5, 50); return; } // Display the results. g.drawString("Prices of coffee per pound: ", 5, 10); int y = 30; java.util.Enumeration enum = queryResults.elements(); while (enum.hasMoreElements()) { String text = (String)enum.nextElement(); g.drawString(text, 5, y); y = y + 15; } } /** * This private method is used to record an error message for * later display. */ private synchronized void setError(String mess) { queryResults = null; message = mess; worker = null; // And ask AWT to repaint this applet. repaint(); } /** * This private method is used to record the results of a query, for * later display. */ private synchronized void setResults(Vector results) { queryResults = results; worker = null; // And ask AWT to repaint this applet. repaint(); } } Thank you & regard, -Radifan- __________________________________________________ Do You Yahoo!? Get Yahoo! Mail - Free email you can access from anywhere! http://mail.yahoo.com/