stmt.executeQuery(sql);    这行有问题,你上面的是建表语句,不是查询语句,可以用:
Statement.executeUpdate(sql) 或 Statement.execute(sql)
(象update,delete之类操作都不该用executeQuery,select 语句才用这个)

解决方案 »

  1.   

    这个句子已经改了,已经成功执行建表和插入什么的操作了可是为什么我的查询结果是null呢??
    这个问题再解决了
    100分就是你的了兄弟谢谢~~~
      

  2.   

    你数据库没连错吧(是本机的),你直接进入到本机的WangGang数据库里:mysql>select * from books,看看是不是有记录的。你在while(rs.next()){}里面System.out.println("col1="+col1)看是不是null啊
      

  3.   

    在本机命令行的  mysql>select * from books能正确打印出我的表~~
    换成 ("col1="+col1) 也是null这么换和以前不一样么?就是加了个字符串吧
      

  4.   

    单就看你上面贴的那点代码看不出什么,我试了连本机的mysql,也建了books,就你上面的哪个查询,基本一样的代码,一点问题都没有,所有col都是有值的,不知道你是怎么弄的。
      

  5.   

    终于搞定了是这样的,我前面的代码已经声明了
      String co1;
      String co2;
      String co3;下面又出现了while(rs.next()){
         String co1=rs.getString(1);//把这三个String去掉后就好了
         String co2=rs.getString(2);//难道前面声明了后面再声明就不行了么?
         String co3=rs.getString(3);//看来我的java基本知识的理解还很不够啊
         }虽然最后出来结果了,但是String把我搞糊涂了
      

  6.   

    你前面已经声明了(不太清楚具体位置,应该是全局变量了)
    String co1;
    String co2;
    String co3;
    做为全局变量对全局有效,而
    while(rs.next()){
         String co1=rs.getString(1);
         String co2=rs.getString(2);
         String co3=rs.getString(3);
         String co4=rs.getString(4);
         String co5=rs.getString(5);
    }
    里面声明的变量只在这个while循环中有效,这等于是不同的变量了,如果你在这个while循环中用System.out.println("co1="+co1),输出应该是有值的,但是你在循环体外输出,系统会认为你输出的是最前面定义那些全局变量,而这些全局变量你是没有赋值的,你把循环体中的String去掉了,那就代表循环体中的变量就是前面你定义的全局变量了,后面再输出当然有值了。
      

  7.   

    还有一件事情想问问你,就是关于mysql的驱动问题我这里一共有两个:
    目录结构如下:
    mysqldriver\com\mysql\jdbcmysqldriver\org\gjt\mm\mysql
    后者里面只有一个Driver的class文件,而前者里面除了Driver外还有很多
    这两个驱动有什么区别么?为什么这样放着呢?还有,如果我用Tomcat和Jsp的话使用哪个驱动呢?
      

  8.   

    我做软件的
    mysql JDBC Driver
    常用的有两个,一个是gjt(Giant Java Tree)组织提供的mysql驱动,其JDBC Driver名称(JAVA类名)为:org.gjt.mm.mysql.Driver
    详情请参见网站:http://www.gjt.org/
    或在本网站下载mysql JDBC Driver(mm.jar)另一个是mysql官方提供的JDBC Driver,其JAVA类名为:com.mysql.jdbc.Driver
    驱动下载网址:http://dev.mysql.com/downloads/,进入其中的MySQL Connector/J区域下载。
    mysql 最新提供的JDBC驱动已经建议改用com.mysql.jdbc.Driver了