当前位置: 代码迷 >> Java Web开发 >> severlet 的UserBeanCl连接数据库有关问题,小弟我已绞尽脑汁
  详细解决方案

severlet 的UserBeanCl连接数据库有关问题,小弟我已绞尽脑汁

热度:1215   发布时间:2013-02-25 21:20:33
severlet 的UserBeanCl连接数据库问题,我已绞尽脑汁
我是一个servlet的初学者,之前用model 1 模式将所有代码放在一个文件里时连接、操作数据库都正常!可是现在对数据库的操作单独写在UserBeanC文件里面就不能通过了!!!进过我在三检查,try、catch发出就是 rs=ps.executeQuery("select top 1 password from [dbo].[user] where userId='"+u+"'");这句话有错但我完全不知道错在哪里!我甚至在sql server里面运行该语句都能查询通过,求大家帮我看看吧!!!(补充说明:我用的数据库是sql server 2008,操作系统win7)


package com.liz;
import java.sql.*;
public class UserBeanCl
{
private Connection ct=null;
private Statement ps=null;
private ResultSet rs=null;

public boolean checkUser(String u,String p)
{
boolean b=false;
try {
ConnDB cd=new ConnDB();
try {
cd.getConn();
}
catch (Exception ex) {
System.out.println("没有连接");
}

try {
rs=ps.executeQuery("select top 1 password from [dbo].[user] where userId='"+u+"'");}
catch (Exception ex) {
System.out.println("此处出错!!!");
} if(rs.next())
{
String dbpasswd=rs.getString(1);
if(dbpasswd.equals(p))
{
b=true;
}
}

}
catch (Exception ex) {
ex.printStackTrace();
} return b;
} }



------解决方案--------------------------------------------------------
NullPointerException 空指针错误

UserBeanCl.java: 30 就是你说的rs=ps.executeQuery( 这行么?

如果是的话,说明ps这个变量没有初始化,也就是 ps == null
------解决方案--------------------------------------------------------
很明显么jdbc的步骤你得遵循啊,你获取连接之后要createStatement 才可以啊 ,显示空指针异常肯定是你使用了值为null的引用了!
Java code
try {ps=cd.createStatement();//cd就是你上面获取的jdb连接 也就是Connection对象rs=ps.executeQuery("select top 1 password from [dbo].[user] where userId='"+u+"'");}catch (Exception ex) {System.out.println("此处出错!!!");}
  相关解决方案
本站暂不开放注册!
内测阶段只得通过邀请码进行注册!