当前位置: 技术问答>java相关
翻了好多帖子,还是没能解决这问题,大伙帮帮忙!
来源: 互联网 发布时间:2017-04-11
本文导语: 这是源程序: 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"); ...
这是源程序:
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.(StringUtils.java:48)
... 7 more
Press any key to continue...
这是什么错误啊?各位老大帮帮忙!
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.(StringUtils.java:48)
... 7 more
Press any key to continue...
这是什么错误啊?各位老大帮帮忙!
|
可能你的包有问题
|
问题好像处在com.mysql.jdbc.StringUtils的初始化代码中,可能与你的mysql驱动有关,你换一个试试
|
Connection dbCon = DriverManager.getConnection ("jdbc:mysql://10.11.5.39/sloopy","root","123456789");
问题在这一句。。。不清楚到底怎么配置mysql的。。。你详细的说明。。。。
感觉上你的程序更本就没有连接到数据库。。。。
1、查明mysql设置 2、查你的jdbc:mysql驱动是不是有问题
问题在这一句。。。不清楚到底怎么配置mysql的。。。你详细的说明。。。。
感觉上你的程序更本就没有连接到数据库。。。。
1、查明mysql设置 2、查你的jdbc:mysql驱动是不是有问题
|
newInstance()去掉试一下
|
}catch(SQLException e) {
System.out.println(e.getMessage());
改为:
}catch(Exception e) {
System.out.println(e.getMessage());
System.out.println(e.getMessage());
改为:
}catch(Exception e) {
System.out.println(e.getMessage());
|
rs1.getString(2)
->
rs1.getInt(2)
->
rs1.getInt(2)
|
你的不用程序直接在mysql中用"root","123456789"能进去吗?
|
System.out.println(rs1.getInt(1)+" "+rs1.getString(2));
这句
你的数据表有几个字段啊
我记不清楚了
好象是0代表的是第一个字段,1代表的是第2个字段,代表的是第3个字段
最好不用这样方式访问数据
用
getXXX(FIELDNAME)是比较好的
这句
你的数据表有几个字段啊
我记不清楚了
好象是0代表的是第一个字段,1代表的是第2个字段,代表的是第3个字段
最好不用这样方式访问数据
用
getXXX(FIELDNAME)是比较好的
|
System.out.println("connect!");
这句话没有执行,所以Connection dbCon = DriverManager.getConnection("jdbc:mysql://10.11.5.39:3306/sloopy","root","123456789");
有问题
这句话没有执行,所以Connection dbCon = DriverManager.getConnection("jdbc:mysql://10.11.5.39:3306/sloopy","root","123456789");
有问题
|
关闭连接
|
是不是网络连接不上?
你可以ping 10.11.5.39 吗?
你可以ping 10.11.5.39 吗?