A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 田建 高级黑马   /  2012-6-30 12:57  /  1793 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 田建 于 2012-7-1 18:53 编辑

代码如下,读取数据库的数据,不知是什么问题,求大神相助,,数据库的安装加数据库驱动再加这个问题已经弄了一上午了!
  1. package cn.itcast.jdbc;

  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.Statement;

  6. public class Base {
  7.         public static void main(String[] args)throws Exception{
  8.                 test();
  9.         }
  10.         static void test()throws Exception{
  11.                 Class.forName("com.mysql.jdbc.Driver");
  12.                 Connection conn=DriverManager.getConnection(
  13.                                 "jdbc:mysql://localhost:3306/jdbc","root","admin");
  14.                 Statement st=conn.createStatement();
  15.                 ResultSet rs=st.executeQuery("select*from user");
  16.                 while(rs.next()){
  17.                         System.out.println(rs.getObject(1)+"\t"+rs.getObject(2)+"\t"+
  18.                                                                 rs.getObject(3));
  19.                 }
  20.                 rs.close();
  21.                 st.close();
  22.                 conn.close();
  23.         }
  24. }
复制代码
问题显示如下!
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jdbc.user' doesn't exist
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
        at com.mysql.jdbc.Util.getInstance(Util.java:386)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2677)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2627)
        at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1556)
        at cn.itcast.jdbc.Base.test(Base.java:17)
        at cn.itcast.jdbc.Base.main(Base.java:10)

3 个回复

倒序浏览
如果不在主函数里测试,你的test()方法是可以正确执行的
回复 使用道具 举报
代码没有问题  应该是你的数据库里面没有那张表

我复制你的代码就该了数据库名字  和  密码   再在数据库里面加了张表  完全没有问题  你对着这几个地方看看
public class MainClass {
        public static void main(String[] args) throws Exception {
                test();

        }

        static void test() throws Exception {

                Class.forName("com.mysql.jdbc.Driver");

                Connection conn = DriverManager.getConnection(

                "jdbc:mysql://localhost:3306/spring", "root", "root");//修改了数据库名字和  秘密  其他没变

                Statement st = conn.createStatement();

                ResultSet rs = st.executeQuery("select*from user");

                while (rs.next()) {

                        System.out.println(rs.getObject(1) + "\t" + rs.getObject(2) + "\t" +

                        rs.getObject(3));

                }

                rs.close();

                st.close();

                conn.close();

        }

}

点评

Table 'jdbc.user' doesn't exist  发表于 2012-6-30 17:05

评分

参与人数 1技术分 +1 收起 理由
刘蕴学 + 1

查看全部评分

回复 使用道具 举报
你的程序是没有问题的,提示:MySQLSyntaxErrorException: Table 'jdbc.user' doesn't exist
结果已经提示了你是你的mysql语法错误,你的mysql数据库应该是没有user这张表,是不是你的大小写写错了,
在mysql数据库中用show tables语句查看下你的表名再试试。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马