JSP连接查找SQL server数据库出现空指针异常
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(Exceptione){out.print("数据库驱动...
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (Exception e) {
out.print("数据库驱动加载失败"+e);
} Connection con=null;
try {
con = DriverManager.getConnection("jdbc:odbc:system", "system", "system");
} catch (SQLException e) {
out.print("数据库连接失败"+e);
}
// String condition = "select " + type + ",levels from employee where " + type + "='" + pwd + "'";
ResultSet rs=null;
Statement sql = null;
try {
rs = sql.executeQuery("select name,sex from employee");
rs.last();
int rowNumber = rs.getRow();
if (rowNumber == 0) {
out.print("找不到对应的" + type + ",请重新输入");
}
} catch (Exception e) {
out.print("查询失败"+e);
}
在执行rs = sql.executeQuery("select cakey,levels from employee");语句后rs还是为null
出现了空指针异常,为什么啊?
我用查询分析器执行语句可以查找出来
我的是用的jdk1.6,win7家庭版 SQL server2000数据库 展开
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (Exception e) {
out.print("数据库驱动加载失败"+e);
} Connection con=null;
try {
con = DriverManager.getConnection("jdbc:odbc:system", "system", "system");
} catch (SQLException e) {
out.print("数据库连接失败"+e);
}
// String condition = "select " + type + ",levels from employee where " + type + "='" + pwd + "'";
ResultSet rs=null;
Statement sql = null;
try {
rs = sql.executeQuery("select name,sex from employee");
rs.last();
int rowNumber = rs.getRow();
if (rowNumber == 0) {
out.print("找不到对应的" + type + ",请重新输入");
}
} catch (Exception e) {
out.print("查询失败"+e);
}
在执行rs = sql.executeQuery("select cakey,levels from employee");语句后rs还是为null
出现了空指针异常,为什么啊?
我用查询分析器执行语句可以查找出来
我的是用的jdk1.6,win7家庭版 SQL server2000数据库 展开
3个回答
展开全部
从你提供的代码看:
Statement sql = null;
定义了sql后一直为null,就没赋值,
那么rs=sql.executeQuery("select name,sex from employee");肯定为空了.
再说 你的数据库连接数据对面,不同数据库对应的驱动字符串不一样,微软的sqlserver应为是
com.microsoft.jdbc.sqlserver.SQLServerDriver 吧
Statement sql = null;
定义了sql后一直为null,就没赋值,
那么rs=sql.executeQuery("select name,sex from employee");肯定为空了.
再说 你的数据库连接数据对面,不同数据库对应的驱动字符串不一样,微软的sqlserver应为是
com.microsoft.jdbc.sqlserver.SQLServerDriver 吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有错误信息看不出来~
你将 out.print("查询失败"+e);
改成out.print("查询失败"+e.printStackTrace());
将错误信息发出来才好解决
你将 out.print("查询失败"+e);
改成out.print("查询失败"+e.printStackTrace());
将错误信息发出来才好解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是sql(Statement)= null;
是这条语句为空;
是这条语句为空;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询