关于JDBC的错误。。急,急,求好心人帮忙解决 本帖最后由 Zengsiwei900520 于 2012-04-25 23:38:20 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 数据库连接字符串有错误,没有端口号,而且好像格式也不正确String username = "root";String password = "1234";String url = "jdbc:mysql://localhost:3306/test";conn = DriverManager.getConnection(url, username, password); 很明显是conn为null.是因为在调用Conn.executeQuery("select *from wws");Conn为null,没有实例化。才会java.lang.NullPointerException而你实例化conn方法又是public void Conn()方法,你根本就没有调用这个方法。 For MySQL:Connection connection = DriverManager.getConnection (“jdbc:mysql://localhost:3306/test“, "scott", "tiger"); For Oracle:Connection connection = DriverManager.getConnection ("jdbc:oracle:thin:@liang.armstrong.edu:1521:orcl", "scott", "tiger");拿去试试 对的,mysql数据库默认端口是3306,可一不写的 java.lang.NullPointerExceptionat com.javaBean.Conn.executeQuery(Conn.java:42)空指针嘛,conn没有初始化就在调用方法来,改成static{try { Class.forName(strDBDriver); conn=DriverManager.getConnection(strConnectionString); //获得数据库连接 stmt=conn.createStatement(); } catch(ClassNotFoundException e) { System.out.println("数据库连接失败!"); }catch(SQLException e){System.out.println("数据库连接失败!");}} ResultSet rs=Conn.executeQuery("select *from wws"); Conn为null.你都木有实例化啊。 然后你的方法也不是静态的。 at com.javaBean.Conn.executeQuery(Conn.java:42)Conn为空 , 你应该先判断一下 Conn != null mysql 的乱码 就直接修改my.ini ,加入默认编码 public Conn(){ try { Class.forName(strDBDriver); conn=DriverManager.getConnection(strConnectionString); //获得数据库连接 stmt=conn.createStatement(); } catch(ClassNotFoundException e) { System.out.println("数据库连接失败!"); }catch(SQLException e){System.out.println("数据库连接失败!");} } 没有调用Conn方法,判断一下加上,或者:static {try { Class.forName(strDBDriver); conn=DriverManager.getConnection(strConnectionString); //获得数据库连接 stmt=conn.createStatement(); } catch(ClassNotFoundException e) { System.out.println("数据库连接失败!"); }catch(SQLException e){System.out.println("数据库连接失败!");}} 关键看你文件编码和数据库编码是否一致。还有你的mysql连接的时候就要设置编码、 我们学校新开设了软件工程师专业主要方向是J2EE和.NET我们该怎么为我们的学生设计一个循序渐进的课程学习计划呢? 实际开发中遇到的小问题! 关于限制同一用户名登录问题 用j2ee写的工资管理系统 谁知道这种错误是啥原因? 有关于标签marquee 有谁知道怎样在jsp中读xml文件? 有关Tomcat的一个简单问题! 高手请指点迷津! 进入一网站后(用JSP),无论它的进入哪一页面,IE的地址栏里的"http://....."始终不变,这是怎么实现的,我想大家一定遇到过这样的网站吧? 简单的Java web应用开发 怎么选中从数据库查询到的复选框?
String username = "root";
String password = "1234";
String url = "jdbc:mysql://localhost:3306/test";
conn = DriverManager.getConnection(url, username, password);
Conn为null,没有实例化。才会java.lang.NullPointerException
而你实例化conn方法又是public void Conn()方法,你根本就没有调用这个方法。
Connection connection = DriverManager.getConnection
(“jdbc:mysql://localhost:3306/test“, "scott", "tiger");
For Oracle:
Connection connection = DriverManager.getConnection
("jdbc:oracle:thin:@liang.armstrong.edu:1521:orcl", "scott", "tiger");
拿去试试
对的,
mysql数据库默认端口是3306,可一不写的
at com.javaBean.Conn.executeQuery(Conn.java:42)
空指针嘛,conn没有初始化就在调用方法来,
改成
static{
try {
Class.forName(strDBDriver);
conn=DriverManager.getConnection(strConnectionString); //获得数据库连接
stmt=conn.createStatement();
} catch(ClassNotFoundException e) {
System.out.println("数据库连接失败!");
}catch(SQLException e){System.out.println("数据库连接失败!");}}
Conn为null.你都木有实例化啊。 然后你的方法也不是静态的。
Conn为空 , 你应该先判断一下 Conn != null
try {
Class.forName(strDBDriver);
conn=DriverManager.getConnection(strConnectionString); //获得数据库连接
stmt=conn.createStatement();
} catch(ClassNotFoundException e) {
System.out.println("数据库连接失败!");
}catch(SQLException e){System.out.println("数据库连接失败!");}
}
static {
try {
Class.forName(strDBDriver);
conn=DriverManager.getConnection(strConnectionString); //获得数据库连接
stmt=conn.createStatement();
} catch(ClassNotFoundException e) {
System.out.println("数据库连接失败!");
}catch(SQLException e){System.out.println("数据库连接失败!");}}