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]