与数据库连接不上:-(
sbks 2003-03-26 05:49:04 出错提示:
--------------------------------------
加载JDBC-ODBC桥驱动程序...
错误类型:java.security.AccessControlException:access denied(java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
----------------------------------------
代码:
--------------------------------------
import java.awt.*;
import java.applet.*;
import java.sql.*;
public class Applet1 extends Applet
{
public void init()
{
resize(400,300);
}
public void paint(Graphics g)
{
int hLine=1;
this.setBackground(Color.lightGray);
this.setForeground(Color.red);
try
{
g.drawString("加载JDBC-ODBC桥驱动程序...",20,hLine*20);
hLine++;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//定义JDBC的URL
String URL="jdbc:odbc:java_study";
g.drawString("与数据库连接...",30,hLine*20);
hLine++;
Connection hCon=DriverManager.getConnection(URL);
//获取一个Statement对象
Statement hState=hCon.createStatement();
try
{
g.drawString("创建一个myTable数据表",30,hLine*20);
hLine++;
hState.executeUpdate("CREATE TABLE myTable(empId varchar(10) PRIMARY KEY,name varchar(15),age numeric(3,2)");
g.drawString("输入数据...",30,hLine*20);
hLine++;
hState.executeUpdate("INSERT INTO myTable(empId,name,age) VALUES('A0001','张三',50)");
hState.executeUpdate("INSERT INTO myTable(empId,name,age) VALUES('A0001','李四',44)");
hState.executeUpdate("INSERT INTO myTable(empId,name,age) VALUES('A0001','赵高',38)");
hState.executeUpdate("INSERT INTO myTable(empId,name,age) VALUES('A0001','王妃',29)");
hState.executeUpdate("INSERT INTO myTable(empId,name,age) VALUES('A0001','孙子',21)");
}
catch(Exception e)
{
g.drawString("错误类型:"+e.toString(),20,hLine*20);
hLine++;
}
try
{
g.drawString("查询数据库...",30,hLine*20);
hLine++;
ResultSet rs = hState.executeQuery("SELECT * FROM myTable");
g.drawString("显示查询结果:",30,hLine*20);
hLine++;
g.drawString("职工号",40,hLine*20);
g.drawString("职工名",80,hLine*20);
g.drawString("年龄",160,hLine*20);
hLine++;
while(rs.next())
{
//取各个字段的值
g.drawString(rs.getString(1),40,hLine*20);
g.drawString(rs.getString(2),40,hLine*20);
g.drawString(rs.getString(3),40,hLine*20);
hLine++;
}
}
catch(Exception e)
{
g.drawString("错误类型:"+e.toString(),30,hLine*20);
hLine++;
}
g.drawString("删除数据库...",30,hLine*20);
hLine++;
try
{
hState.executeUpdate("DROP TABLE myTable");
}
catch(Exception e)
{
g.drawString("错误类型:"+e.toString(),30,hLine*20);
}
//关闭连接
hCon.close();
}
catch(Exception e)
{
g.drawString("错误类型:"+e.toString(),30,hLine*20);
}
}
}
---------------------------