CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

翻了好多帖子,还是没能解决这问题,大伙帮帮忙!

楼主fanter(爱了就爱了)2002-12-26 20:06:00 在 Java / Web 开发 提问

这是源程序:  
  import   java.sql.*;  
   
  public   class   JdbcTest  
  {  
          public   static   void   main(String[]   args)  
          {  
                  try{  
                          Class.forName("org.gjt.mm.mysql.Driver").newInstance();  
                          System.out.println("ok");  
                          System.out.println("connecting..............");  
                          Connection   dbCon   =   DriverManager.getConnection       ("jdbc:mysql://10.11.5.39/sloopy","root","123456789");  
                           
                          System.out.println("connect!");  
                          Statement   s   =   dbCon.createStatement();  
                           
                              ResultSet   rs1=s.executeQuery("select   *   from   sex");  
                              boolean   more=rs1.next();  
                              while(more)   {  
                                      System.out.println(rs1.getInt(1)+"     "+rs1.getString(2));  
                                      more=rs1.next();    
                              }      
                  }catch(SQLException   e)   {  
                          System.out.println(e.getMessage());  
                      }catch(Exception   e1)   {  
                       
                      }          
          }  
  }  
   
   
  下面是报错信息:    
  ok    
  connecting..............    
  Exception   in   thread   "main"   java.lang.ExceptionInInitializerError    
  at   com.mysql.jdbc.ResultSet.getString(ResultSet.java:1948)    
  at   com.mysql.jdbc.Connection.initializePropsFromServer(Connection.java:9    
  83)    
  at   com.mysql.jdbc.Connection.connectionInit(Connection.java:905)    
  at   com.mysql.jdbc.Driver.connect(Driver.java:311)    
  at   java.sql.DriverManager.getConnection(DriverManager.java:512)    
  at   java.sql.DriverManager.getConnection(DriverManager.java:171)    
  at   JdbcTest.main(JdbcTest.java:11)    
  Caused   by:   java.lang.StringIndexOutOfBoundsException:   String   index   out   of   range:    
  191    
  at   java.lang.String.charAt(String.java:455)    
  at   com.mysql.jdbc.StringUtils.<clinit>(StringUtils.java:48)    
  ...   7   more    
  Press   any   key   to   continue...    
   
  这是什么错误啊?各位老大帮帮忙! 问题点数:100、回复次数:23Top

1 楼drnstar()回复于 2002-12-27 07:50:02 得分 5

newInstance()去掉试一下Top

2 楼tomatowitch(一半是鱼)回复于 2002-12-27 09:00:47 得分 5

}catch(SQLException   e)   {  
                          System.out.println(e.getMessage());  
  改为:  
  }catch(Exception   e)   {  
                          System.out.println(e.getMessage());Top

3 楼zxhong(红透半边天)回复于 2002-12-27 09:05:29 得分 5

rs1.getString(2)  
  ->  
  rs1.getInt(2)  
  Top

4 楼cpplus(技术就是要坚持)回复于 2002-12-27 09:25:59 得分 0

Connection   dbCon   =   DriverManager.getConnection       ("jdbc:mysql://10.11.5.39:3306/sloopy","root","123456789");Top

5 楼fanter(爱了就爱了)回复于 2002-12-27 10:26:11 得分 0

楼上的各位朋友:  
          你们的方法我都试过了,还是不行,错误信息还是老样子。  
          不解中.......................................  
  Top

6 楼packy_li()回复于 2002-12-27 10:37:56 得分 0

你的mysql驱动配置对了吗?  
  Top

7 楼fanter(爱了就爱了)回复于 2002-12-27 12:00:57 得分 0

应该是对的吧,你看报错信息  
  ok    
  connecting..............  
  这都可以打印出来了,我想驱动应该是没问题的。  
   
  附上我的驱动配置:  
  1.在CLASSPATH加上了  
      D:\j2sdk\jre\lib\ext\mysql-connector-java-3.0.1-beta-bin.jar;    
  2.因为我是用JCreator,所以我在它的JDK   Profiles   里也加上上面的路径。Top

8 楼bungler(明)回复于 2002-12-27 12:07:20 得分 0

boolean   more=rs1.next();  
  while(more)    
  {  
          System.out.println(rs1.getInt(1)+"     "+rs1.getString(2));  
          more=rs1.next();    
  }  
   
  这段代码怎么会事情啊,你这样不是进入死循环了吗。  
  改成  
  while(rs1.next())    
  {  
          System.out.println(rs1.getInt(1)+"     "+rs1.getString(2));  
          more=rs1.next();    
  }  
   
       
  Top

9 楼gjdbf(痛哭的人)回复于 2002-12-27 12:10:57 得分 5

你的不用程序直接在mysql中用"root","123456789"能进去吗?  
  Top

10 楼fanter(爱了就爱了)回复于 2002-12-27 12:50:00 得分 0

to     bungler(明)   :  
        按你的方法改了,还是报错,报错信息一样。  
   
  to     gjdbf(痛哭的人):  
        可以的。  
   
   
  还有就是//10.11.5.39/sloopy和程序不在同一台机器上。  
  Top

11 楼bungler(明)回复于 2002-12-27 12:55:53 得分 5

System.out.println(rs1.getInt(1)+"     "+rs1.getString(2));  
  这句  
  你的数据表有几个字段啊  
  我记不清楚了  
  好象是0代表的是第一个字段,1代表的是第2个字段,代表的是第3个字段  
  最好不用这样方式访问数据  
  用  
  getXXX(FIELDNAME)是比较好的Top

12 楼fanter(爱了就爱了)回复于 2002-12-27 13:14:02 得分 0

to     bungler(明)   :  
          表里就两个字段  
          id     int(4)  
          name   varchar(10)  
   
          我现在改用了getInt("id")     和   getString("name"),可是还是报错,报错信息还是一样。郁闷死了...................Top

13 楼fanter(爱了就爱了)回复于 2002-12-27 13:51:51 得分 0

我把程序改成这个样子:  
  import   java.sql.*;  
   
  public   class   JdbcTest  
  {  
  public   static   void   main(String[]   args)  
  {  
  try{  
          Class.forName("org.gjt.mm.mysql.Driver");  
   
  }  
  catch(java.lang.ClassNotFoundException   e)  
  {  
  System.out.print("Class   not   found   exception   occur.   Message   is:");    
  System.out.print(e.getMessage());  
  }  
   
  try{  
  Connection   dbCon   =   DriverManager.getConnection("jdbc:mysql://10.11.5.39:3306/sloopy","root","123456789");  
   
          Statement   s   =   dbCon.createStatement();  
          }  
          catch(SQLException   e)  
          {  
          System.out.print("Unabled   to   Connect   MYSQL");    
          }  
           
  }  
  }  
   
  可是报错信息里既没有打印出  
  Class   not   found   exception   occur.   Message   is:  
  这一行,也没打印出  
  Unabled   to   Connect   MYSQL  
  而是只有上面说的错误信息。  
  怪事了!Top

14 楼gjdbf(痛哭的人)回复于 2002-12-27 15:29:49 得分 20

可能你的包有问题Top

15 楼zxl19790710(雪龙)回复于 2002-12-27 16:25:14 得分 5

System.out.println("connect!");  
  这句话没有执行,所以Connection   dbCon   =   DriverManager.getConnection("jdbc:mysql://10.11.5.39:3306/sloopy","root","123456789");  
  有问题Top

16 楼titaninwinter(梦里花落)回复于 2002-12-27 16:49:23 得分 5

关闭连接  
  Top

17 楼cpplus(技术就是要坚持)回复于 2002-12-27 17:07:16 得分 5

是不是网络连接不上?  
   
  你可以ping   10.11.5.39   吗?  
   
  Top

18 楼fanter(爱了就爱了)回复于 2002-12-27 19:31:16 得分 0

to     gjdbf(痛哭的人)   :  
          我下的JDBC驱动是mysql-connector-java-3.0.1-beta-bin.jar,里面也有org.gjt.mm.mysql.Driver。我觉得不是包的问题,如果有问题就不会打印出这两行了  
  System.out.println("ok");  
  System.out.println("connecting..............");  
   
  to   zxl19790710(雪龙)   :  
          我估计也是这一行有问题,可是我看文档了,格式就是这么写的,可是就是出问题,郁闷ing  
   
  to   cpplus(百合_长发飘飘)   :  
          可以ping的通的。Top

19 楼edong()回复于 2002-12-28 01:12:28 得分 20

问题好像处在com.mysql.jdbc.StringUtils的初始化代码中,可能与你的mysql驱动有关,你换一个试试Top

20 楼fanter(爱了就爱了)回复于 2002-12-28 10:17:01 得分 0

to   edong():  
      我找了好久就找到了这个驱动,你能不能推荐一个下载的网址或者把驱动邮到我的信箱fatgod1979@sohu.com。先谢了!Top

21 楼Reason_Bbx(金龙鱼)回复于 2002-12-28 10:44:10 得分 20

Connection   dbCon   =   DriverManager.getConnection       ("jdbc:mysql://10.11.5.39/sloopy","root","123456789");  
   
  问题在这一句。。。不清楚到底怎么配置mysql的。。。你详细的说明。。。。  
  感觉上你的程序更本就没有连接到数据库。。。。  
  1、查明mysql设置   2、查你的jdbc:mysql驱动是不是有问题Top

22 楼fanter(爱了就爱了)回复于 2002-12-28 11:42:13 得分 0

to   Reason_Bbx(金龙鱼)   :  
  1.   mysql   还需要做什么设置?我用的这个mysql是我们平时用来做测试用的,我想应该没问题吧。  
  2.   怎么查jdbc:mysql驱动是不是有问题?请指教Top

23 楼fanter(爱了就爱了)回复于 2002-12-28 22:34:28 得分 0

不好意思,顶一下。Top

相关问题

  • 没事,发个MTV给大伙听听
  • 大伙帮我翻译一句话,100分
  • .net安装问题。大伙有没有遇到?
  • 关于datagrid的问题,没分了,大伙帮帮忙
  • 大伙没事去这个IRC玩玩,很快。irc.myzone.cn:6667
  • 请大伙帮忙看看有没有人入侵?
  • 大伙有没有DotLucene 的实例捏...分数可以追加~
  • 有段时间没来了,大伙可好?
  • 今天元宵节,大伙放烟花了没有?
  • 大伙帮我分析分析,看我有没有戏

关键词

  • 字段
  • 驱动
  • mysql
  • jdbc
  • 打印
  • 信息
  • root
  • sloopy
  • rs1
  • dbcon

得分解答快速导航

  • 帖主:fanter
  • drnstar
  • tomatowitch
  • zxhong
  • gjdbf
  • bungler
  • gjdbf
  • zxl19790710
  • titaninwinter
  • cpplus
  • edong
  • Reason_Bbx

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo