aspose file tools*
The moose likes JDBC and the fly likes JDBC Source Code Error Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » JDBC
Bookmark "JDBC Source Code Error" Watch "JDBC Source Code Error" New topic
Author

JDBC Source Code Error

Phil Berggren
Greenhorn

Joined: Jul 13, 2001
Posts: 5
I downloaded a JDBC program from java.sun to try to learn some Java, and JDBC. I tried to create my own applet to do a JDBC connection, but failed miserably. I then decied to modify the example I downloaded and try to run that. I did just that, and it compiles, but when I try to run it, it gives the error:
exception in thread "main" java.lang.NoClassDefFoundError: OutputAppletTEST (wrong name: OutputAppletTEST)
and then a list of 12 "at.........."
Here is the code I am trying to run. Can someone tell me why this is doing this to me. I just want to get a good hold on Java. I have done good so far, and I thought I was getting the hang of it, until I started messing with JDBC :-(
................................................................
/**
* This is a demonstration JDBC applet.
* It displays some simple standard output from the Coffee database.
*/
import java.applet.Applet;
import java.awt.Graphics;
import java.util.Vector;
import java.sql.*;
public class OutputAppletTEST 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 dbc kms feed";
String query = "select o3stor, o3dcr from o3ohst00";
try {
Class.forName("myDriver.ClassName");
} catch(Exception ex) {
setError("Can't find Database driver class: " + ex);
return;
}
try {
Vector results = new Vector();
Connection con = DriverManager.getConnection(url,
"u085097", "erin1030");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
String s = rs.getString("o3stor");
String s1 = rs.getString("o3dcr");
String text = s + " " + s1;
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 for your time
berg
Thomas Paul
mister krabs
Ranch Hand

Joined: May 05, 2000
Posts: 13974
Because it's an applet and you are trying to run it as an application?


Associate Instructor - Hofstra University
Amazon Top 750 reviewer - Blog - Unresolved References - Book Review Blog
Phil Berggren
Greenhorn

Joined: Jul 13, 2001
Posts: 5
I do not understand. The only thing I changed was the connection string, URL, and query. I did not modify anythign else. The way I was running it was "java OutputAppletTEST" after I compiled it (without ""'s of course). Is ther another way I should be running it? I have mainly only used swing, not applets. Please help a newbie understand.
Thanks
berg
Thomas Paul
mister krabs
Ranch Hand

Joined: May 05, 2000
Posts: 13974
Only java applications can be run using java.exe. All java applications have a main method which this example doesn't. I would suggest going to the sun site and reading the tutorial on applets before trying to conquer something as big as this.
Mahesh Mamani
Ranch Hand

Joined: Jun 25, 2001
Posts: 110
If u r trying to run it as an applet use appletViewer <filename>
One more point to check is if the applet can connect to Database.
Mahesh Mamani
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: JDBC Source Code Error