JDBC的程序,可以编译,运行就出错,求助
package ch13;
import java.sql.*;
public class UseDriver {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost/sql_test";
String userName = "root";
String password = "1001507";
String sql = null;
Connection conn = null;
Statement stmt = null;
try {
//第一步:加载驱动器
Class.forName("com.mysql.jdbc.Driver");
} catch(ClassNotFoundException e) {
System.err.print("ClassNotFoundException");
}
try {
//第二步:调用DriverManager.getConnection静态方法得到数据库连接
conn = DriverManager.getConnection(url, userName, password);
//创建Statement语句
stmt = conn.createStatement();
sql = "INSERT INTO student " +
"VALUES('12', 'zhangjun', 'tianjin', '1981-01-01')";
//使用Statement语句对象执行SQL语句
stmt.executeUpdate("DELETE FROM student WHERE stu_id='12'");
stmt.executeUpdate(sql);
System.out.println("Insert a row successful!");
} catch(SQLException e) {
System.err.println("Insert SQLException");
} finally {
//关闭语句和数据库连接
try {
stmt.close();
conn.close();
} catch(SQLException e) {
System.err.println("Close SQLException");
}
}
}
}
一运行就出现错误
F:\A\java2>javac UseDriver.java
F:\A\java2>java UseDriver
Exception in thread "main" java.lang.NoClassDefFoundError: UseDriver (wrong
: ch13/UseDriver)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
请各位高手帮帮忙!谢谢
问题点数:20、回复次数:13Top
1 楼dxai(龙东)回复于 2006-03-04 19:18:07 得分 3
问题在:没有把类库加进到系统中去(classpath)Top
2 楼mgan(ROOT→〖将来是我〗)回复于 2006-03-04 19:21:27 得分 2
环境变量中添加 classpathTop
3 楼matq2008(叶子.net)回复于 2006-03-04 19:24:41 得分 5
把mysql的驱动放到commcon\lib下Top
4 楼Loveflys()回复于 2006-03-04 20:57:33 得分 0
谢谢各位了!哈哈Top
5 楼Loveflys()回复于 2006-03-04 21:16:18 得分 0
.;C:\Program Files\Java\jdk1.5.0_04\lib\dt.jar;C:\Program Files\Java\jdk1.5.0_04\lib\tools.jar;D:\Tomcat 5.5\common\lib\jsp-api.jar;D:\Tomcat 5.5\common\lib\servlet-api.jar;D:\Tomcat 5.5\common\lib;这个是我的classpath设置
应该没有错,但还是运行不了啊Top
6 楼Loveflys()回复于 2006-03-04 21:21:55 得分 0
有没有别的原因啊?急,卡这了 ?
Top
7 楼chyx413332087()回复于 2006-03-04 22:24:33 得分 5
没有把类库加进到系统中去(classpath)
我用的是SQL SERVER FOR 2000 FOR JDBC这个驱动器,这个要将这个驱动器下的三个文件加到classpath中
我想你用的mysql应该也要将什么文件加到classpath中吧,Top
8 楼Loveflys()回复于 2006-03-04 22:30:12 得分 0
谢谢,我再试一下,希望可以搞定
Top
9 楼Loveflys()回复于 2006-03-04 22:35:17 得分 0
我加了一个mysql-connector-java-3.1.12-bin.jar这个文件到环境变量!还是不行!一定是环境变量的问题吗?Top
10 楼Loveflys()回复于 2006-03-05 11:04:51 得分 0
搞定了,谢谢各位!Top
11 楼xingfo(一江涛水)回复于 2006-03-05 12:13:32 得分 5
好像是你的驱动器代码写错了吧.
你试试下面的代码:
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
你可以在这里面写一行代码测试一下执行正不正确.
其它代码应该没什么问题
Top
12 楼jordan1(班君)回复于 2006-03-05 13:53:30 得分 0
楼主,怎么就过了?说说吧!大家相互学习!Top
13 楼Loveflys()回复于 2006-03-05 15:39:35 得分 0
http://cxw77.blogchina.com/2191906.html
我是照着这里的帖子做的!呵呵Top




