Hello List,
I'm wrote some code that
accesses a Oracle database (Personal Edition) running on Windows98 machine.
I was successful in running it with appletviewer, but am not being able
to run it on I.E.5. Could you pl. go though the following code and tell
me what I'm doing wrong, or what additional steps I need to take to be able
to run the applet on I.E.
import java.applet.Applet;
import
java.awt.Graphics;
import java.util.Vector;
import
java.sql.*;
public class OutputApplet 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 =""> String query = "select
COF_NAME, PRICE from COFFEES";
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch(Exception
ex) {
setError("Can't find Database driver
class: " + ex);
return;
}
try {
Vector
results = new Vector();
Connection con =
DriverManager.getConnection(url, "scott",
"tiger");
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();
}
}
This is my HTML code:
<HTML>
<HEAD>
<TITLE>
Query Output </TITLE>
</HEAD>
<BODY>
Output from query
select NAME, PRICE from
COFFEES
<APPLET CODE="OutputApplet.class"
codebase=""
archive="C:/Oracle/Ora81/jdbc/lib/classes111.zip" WIDTH=550
HEIGHT=300>
</APPLET>
</BODY>
</HTML>
The error I'm getting when running on I.E 5 is
: can't find Datavbase driver class: java.lang.ClassNotFoundException:
oracle.jdbc.driver.OracleDriver.
thanks in anticipation,
yours truly,
Rohit.
---
You are currently
subscribed to jdjlist as: [EMAIL PROTECTED]
To unsubscribe
send a blank email to [EMAIL PROTECTED]