JAVA能连接MYSQL数据库,但是无法读出数据

package com.xxdhb.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import javax.sql.rowset.CachedRowSet;

import com.sun.rowset.CachedRowSetImpl;

public class DBConn {

private String url; // 存储SQLSever连接路径

private String serverName; // 存储机器的名称

private String portNumber; // 存储端口名称

private String databaseName; // 存储数据库名称

private String userName; // 存储用户名称

private String password; // 存储密码

/* 设置连接数据库相关参数 */

public DBConn(){

url = "jdbc:mysql://127.0.0.1:3306/Mysql";

serverName = "localhost";

portNumber = "3306";

databaseName = "magazine";

userName = "root";

password = "sa123";

}

/* 获取连接数据库路径并返回 */

private String getConnectionUrl() {

return url + serverName + ":" + portNumber + ";databaseName=" + databaseName + ";";

}

/* 获取Conncetion对象并返回 */

public Connection getConnection() {

Connection con=null;

try {
Class.forName("com.mysql.jdbc.Driver"); // 加载Jdbc驱动程序

con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/Mysql",userName,password);

} catch (Exception e) {

e.printStackTrace();

System.out.println("getConnection()内部跟踪错误:"+ e.getMessage());
}

return con;

}
public static void main(String[] args) {
DBConn d=new DBConn();
Connection conn=d.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select * from nmm_msg";
try {
ps = conn.prepareStatement(sql);
System.out.println("~~~~~~~1111"+conn);//能输出
rs = ps.executeQuery(); //到这一步无法继续执行
System.out.println("~~~~~~~22222222"+conn);//无法输出
System.out.println(rs.next());
while(rs.next()){
System.out.println("~~~~~~~~");
}
} catch (Exception e) {
// TODO: handle exception
}

}
}

到rs = ps.executeQuery();这一步无法继续执行获取数据,数据库中有数据,请哪个高手指点下,谢谢~~~~~急!!!!急!!!!!急!!!
1.已经确认能连接数据库,添加了编码characterEncoding=gbk都无法解决
2.com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'mysql.nmm_msg' doesn't exist
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1761)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1912)
at t.DBConn.main(DBConn.java:82)
对了我用的驱动是mysql-connector-java-5.1.7-bin,不知道有没有影响
3.我的Mysql数据库是5.0版本的

第1个回答  2010-04-12
可能是编码问题,在连接串后面加上characterEncoding=gbk,比如:url = "jdbc:mysql://127.0.0.1:3306/Mysql?characterEncoding=gbk";本回答被提问者采纳
第2个回答  2010-04-12
是数据库连接出了问题,你的数据库应该根本没有和你的项目连接上

你用的是MyEclipse么,如果是,比如是否添加了数据库驱动等
第3个回答  2010-04-12
1、检查你的工程字符集;
2、检查你的MySQL驱动和数据库版本;

我用你的代码和最新的驱动连4.1的MySQL是没有问题的....
第4个回答  2010-04-12
我终于知道什么问题了,我刚开始也这样,后来知道在加载Jdbc驱动程序出问题,所以引入了mysql-connector-java-3.1.13-bin.jar
这样就没问题了。
第5个回答  2010-04-12
驱动add to buile path了没有????
相似回答