代码是没错的,可就是链接不上MYSQL,一直说"找不到驱动".可是我明明在classpath里设置了驱动路径了.不知道是为什么...
代码如下:
import java.sql.*;
public class conCheck{
public static void main(String args[]){
String DBriver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost/test?user=dongjie&password=123456";
String user = "nn";
String pwd = "111111";
try{
Class.forName(DBriver);
}catch(java.lang.ClassNotFoundException e){
System.err.println(e.getMessage());
}
try{
Connection con = DriverManager.getConnection(url,user,pwd);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from member");
while(rs.next()){
System.out.println(rs.getString("name"));
}
rs.close();
}catch(Exception e){
System.out.println("数据库操作时出现了错误!");
}
}
}是不是因为操作系统的原因??我的操作系统是windows XP sp2 professional的..
各位帮帮我好吗?
代码如下:
import java.sql.*;
public class conCheck{
public static void main(String args[]){
String DBriver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost/test?user=dongjie&password=123456";
String user = "nn";
String pwd = "111111";
try{
Class.forName(DBriver);
}catch(java.lang.ClassNotFoundException e){
System.err.println(e.getMessage());
}
try{
Connection con = DriverManager.getConnection(url,user,pwd);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from member");
while(rs.next()){
System.out.println(rs.getString("name"));
}
rs.close();
}catch(Exception e){
System.out.println("数据库操作时出现了错误!");
}
}
}是不是因为操作系统的原因??我的操作系统是windows XP sp2 professional的..
各位帮帮我好吗?
解决方案 »
- java中泛型的应用问题
- 昨天群硕的笔试题(长沙),希望对大家有点帮助
- Java 能否在程序运行中让 JPanel 内的部分或全部控件消失?
- 哪位大虾能否提供用键盘上下左右键控制swing UI各个check box的例子吗?
- 请教一下java的类反射和类装载器。能说一下他们的用处和他们有什么相同的吗???没分了,只能给这么多了
- MANIFEST.MF文件怎样写?它所在的META-INFO文件夹和jar文件是在同一个目录下吗?
- forte和jbuilder哪个更合适开发?jbuider的光标怎么回事?
- 关于一个输入问题
- 一个小问题!
- jdk哪里有下载?
- 郁闷:这个多线程下载程序怎么也调不通
- applet中指定package后如何在html中运行.
stmt.close();
con.close();
这么写也是不对的改成String url = "jdbc:mysql://localhost/test"; 就可以了
String user = "nn";
String pwd = "111111";
问题应该出在这三句话阿
String url = "jdbc:mysql://localhost/test?user=dongjie&password=123456";
这句话里的user&password首先下面已经有了
其次居然不一样
????
关闭数据库是一个良好的习惯,虽然有的时候不关也不会出错。
顺序就是上面h2342166(火腿太狼) 老兄说的
Connection con=null;
Statement stmt=null;
ResultSet rs =null;try{
con = DriverManager.getConnection(url,user,pwd);
stmt = con.createStatement();
rs = stmt.executeQuery("select * from member");
while(rs.next()){
System.out.println(rs.getString("name"));
}
}catch(Exception e){
System.out.println("数据库操作时出现了错误!");
}finally{
DbUtils.closeQuietly(rs);
DbUtils.closeQuietly(stmt);
DbUtils.closeQuietly(conn);
}
我没有org.apache.commons.dbutils.DbUtils这个包
在finally中写入关闭数据库语句很好啊~~ 支持!
我也写了一个、没有调试~~手头没有数据库、所以大家调试一下看看有毛病没有
其中异常处理还不是完善、呵呵import java.sql.*;public class conCheck {
public static void main(String args[]) {
String DBriver = "com.mysql.jdbc.Driver";
//String DBriver = "org.gjt.mm.mysql.Driver"; //用这个也可以的
String url = "jdbc:mysql://localhost/test";
String user = "nn";
String pwd = "111111";
try {
Class.forName(DBriver);
} catch (java.lang.ClassNotFoundException e) {
System.err.println(e.getClass()+"类没有找到"+"信息为"+e.getMessage());
} try {
Connection con = DriverManager.getConnection(url, user, pwd);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from member");
while (rs.next()) {
System.out.println(rs.getString("name"));
}
rs.close();
} catch (Exception e) {
System.out.println("数据库操作时出现了错误!");
} finally {
Connection con = null;
if (!(con == null))
try {
Statement stmt = null;
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("关闭数据库(可注释掉)");
} }
}finally那里写的好像不太对~~~顺便当问题问了、大家谁帮助调试一下~~~
finally中的 Connection con =null 和 stmt=null是IDE生成的。不知道能不能成功。
郁闷了~不弄了~大家看看怎么写好些
我去试试。。
特别是那个finally里写关闭数据库链接等的方法非常好。不过有点问题就是:在我调试我的程序时显示的结果是找不到驱动!!OK,我先去调试一下成功与否都会上来再回一次。。谢谢!!!
这样,我把我的操作写下来,看看哪里出了问题。
从网上下过来JDBC FOR MYSQL的驱动,名为:mysql-connector-java-3.1.7-bin.jar,把它放在目录为:e:\jdk1.42\lib下,在系统的环境变量的classpath内加上了"e:\jdk1.42\lib\mysql-connector-java-3.1.7-bin.jar",点击确定。
用MYSQL-FRONT打开MYSQL,建立表member表,内有name字段,输入内容。
打开JCREATE,写入代码:
import java.sql.*;
public class conCheck{
public static void main(String args[]){
String DBriver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost/test";
String user = "root";
String pwd = "111111";try{
Class.forName(DBriver);
}catch(java.lang.ClassNotFoundException e){
System.err.println(e.getMessage());
System.out.println("MYSQL驱动找不到");
}try{
Connection con = DriverManager.getConnection(url,user,pwd);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from member");
while(rs.next()){
System.out.println(rs.getString("name"));
}
rs.close();
}catch(Exception e){
System.out.println("数据库操作时出现了错误!");
}
}
}OK,一切完成,进行编译,没错误。运行它,出现错误。。com.mysql.jdbc.Driver
MYSQL驱动找不到
数据库操作时出现了错误!
Press any key to continue...非常郁闷。。请大家帮我看看,在我操作的时候哪里出了问题
public class MysqlConnect { public static void main(String[] args) {
String url = "jdbc:mysql://localhost/mydb";
String username = "root";
String password = "";
String sqlStr = "select * from users"; try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Connection con = DriverManager.getConnection(url, username, password);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sqlStr); dispResultSet(rs);
rs.close();
stmt.close();
con.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} } private static void dispResultSet(ResultSet rs) throws SQLException {
int i;
int counter = 0; ResultSetMetaData rsmd = rs.getMetaData(); int numCols = rsmd.getColumnCount();
boolean more = rs.next(); while (more) {
for (i = 1; i <= numCols; i++) {
if (i > 1)
System.out.print(",");
System.out.print(rs.getString(i));
}
System.out.println("");
counter++;
more = rs.next();
}
// System.out.println(counter);
}
}
我这个程序我是可以运行的,如果驱动不对,就是你的配置问题了
楼主用的是在:cmd下编译的?用eclipse啊你把mysql-connector-java-3.1.7-bin.jar放在jdk\jre\lib\ext下看看,还找得到不,
如果这样找得到,说明你classpath有问题了