| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 272 人关注过本帖
标题:一个数据库连接小问题
收藏  订阅  推荐  打印
新手上路了
Rank: 1
等级:新手上路
帖子:27
积分:380
注册:2008-3-27
一个数据库连接小问题

package test;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.ResultSet;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
*
* @author Administrator
*/
public class DbTest {
    public static void main(String args[])
    {


            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(DbTest.class.getName()).log(Level.SEVERE, null, ex);
            }
            Connection conn = null;
            Statement stmt = null;
            ResultSet rs = null;
            try {
                conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&pass=1234");            } catch (SQLException ex) {
                Logger.getLogger(DbTest.class.getName()).log(Level.SEVERE, null, ex);
            }
        try {
            stmt = (Statement) conn.createStatement();
            rs = (ResultSet) stmt.executeQuery("SELECT * FROM student");
             while(rs.next())
            {
                System.out.println("姓名:"+rs.getString("name")+"---号码:"+rs.getString("number"));
            }
        } catch (SQLException ex) {
            Logger.getLogger(DbTest.class.getName()).log(Level.SEVERE, null, ex);
        }
      
    }
}
//数据库 test 用户名 root 密码 1234 为什么会报这样的信息
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885)
        at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3421)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1247)
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:2748)
        at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        at java.sql.DriverManager.getConnection(DriverManager.java:193)
        at test.DbTest.main(DbTest.java:34)
Exception in thread "main" java.lang.NullPointerException
        at test.DbTest.main(DbTest.java:39)
2008-7-10 18:28
marer
Rank: 4
等级:高级会员
帖子:928
积分:9478
威望:3
注册:2005-7-18

看一下你的MySql用的是哪个端口,要把端口号写进语句里

public class 人生历程 extends Thread{public void run(){while(true){努力,努力,再努力!!;Thread.sleep(0);}}}
2008-7-11 19:29
saberasurada
Rank: 1
等级:新手上路
帖子:18
积分:306
注册:2008-5-31

例:jdbc:mysql://localhost:3306/mysql?autoReconnect=true

建议楼主单独建一个DbManager,把连接数据库的连接语句都写在这个DbManager里,便于操控。

[ 本帖最后由 saberasurada 于 2008-7-11 23:39 编辑 ]
2008-7-11 23:38
共有 271 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.046939 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved