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了没有????

解决MySQL无法被识别的问题mysql不能被识别
方法一:手动安装 MySQL JDBC 驱动程序 1.打开 MySQL 官网,从下载页面下载最新的 MySQL JDBC 驱动程序(mysql-connector-java)。2.将 mysql-connector-java-.jar 文件复制到项目的 lib 文件夹中。3.在项目中添加 mysql-connector-java-.jar 文件到类路径中。例如,在 Eclipse 中,可以右键点击项目...

java使用jdbc连接mysql数据库,表里有记录,但是查询的结果集为空,是什么...
回答:可能是少一句代码,语句去执行了,但是没有取结果,直接输出,当然没有。

JAVA 连接MySQL数据库的时候出错 Access denied for user 'root'@'loc...
没有设置mysql你所连的那个数据库的权限。建议你先用navicat for mysql 先登陆看能不能进去,估计也是进不去的。要设置下

java连接MYSQL数据库时报“Connection is read-only ”
1、换个有所需权限的用户。2、给用户添加所需权限。

java连接mysql数据库useSSL问题
1. Java连接mysql数据库时,使用mysql-connector-java-xx.jar驱动,升级该Jar包即可。高版本驱动兼容低版本,建议使用高版本驱动以获得最佳性能与安全性。2. 数据库部署在内网环境中,通常不会开启SSL功能。高版本驱动(>=8.0.13)默认useSSL=true,建议在JDBC URL配置中明确配置useSSL=false。3. 若...

用java连接MySQL出现错误:java.lang.ClassNotFoundException: com.mys...
个人觉得如果你单独成一个项目能运行的话,换成一个方法也是没有问题的,楼上的那些方法肯定都不是出错的地方,因为如果没有导入包的话你这个程序都不可能运行的。但是现在出现了问题,这其中一种最优可能的原因是你擅自把在这个函数中的某些个变量比如Driver定义在了函数访问不到的地方,比如主函数中,...

java代码链接远程MYSQL 报错,链接本地数据库确可以,用客户端工具链接远...
从Oracel得到的信息是可能是你的mysql connector to java的版本太老,建议使用4.1及更新的版本 还有的可能是服务端将空闲超时的连接关闭了,但客户端连接池还认为连接有用,就用该连接来发送数据,所以会报错。http:\/\/aofengblog.blog.163.com\/blog\/static\/63170212008723480193\/ ...

java编程序访问mysql数据库要驱动程序?数据库不自带驱动程序吗?还要另 ...
当然需要驱动程序了。驱动程序就如同进入一座房子的门户的钥匙,不同的房子(门)需要不同的钥匙,也就是针对不同的数据库,需要不同的驱动程序,只有有了驱动程序,你的java程序才可以访问相应的数据库。安装一个数据库,安装的应该有数据库本身和数据库管理软件,两个部分。数据库自带有驱动程序吗?那...

java与数据库连接的问题
给你一个我的例子:这是连接数据库的类:package mypackage;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JOptionPane;public class ConnectionData { Connection myCon;Statement myStatement;...

java(非web应用)连接mysql数据库的时候老是报出没有找到驱动jar,但是我...
这种问题肯定是连接数据库的jar包没有导到工程里边,楼主先下载一个jdbc的jar包,然后导到工程里再试试

相似回答