NullPointerException错误

问题描述

我的程序用jdbc:odbc桥连接的access数据库连接部分使用JavaBean实现的在执行下面这些代码时Stringsql="selecttop1*fromsystem";ResultSetrs=mdb.executeQuery(sql);if(rs.next())显示rs.next()出现了NullPointerException错误,但我用查询分析器运行了selecttop1*fromsystem,可以出现查询结果.mdb为javabean的id.碰见这种结果可能是什么原因?如何修改?谢谢!

解决方案

解决方案二:
详细一些,这样看不懂,把源代码和错误提示给贴出来
解决方案三:
if改成while
解决方案四:
<%@pagecontentType="text/html;charset=GBK"%><%@pagelanguage="java"import="java.sql.*"errorPage=""%><head><linkhref="css.css"rel="stylesheet"type="text/css"><%!booleanIsMail(Stringuser_mail){intindex=user_mail.indexOf("@");intindex2=user_mail.indexOf(".");if(index==-1||index2==-1)returnfalse;elsereturntrue;}publicStringgetStr(Stringstr){try{Stringtemp_p=str;byte[]temp_t=temp_p.getBytes("ISO8859-1");Stringtemp=newString(temp_t);returntemp;}catch(Exceptione){e.printStackTrace();}return"null";}%><%!intCint(Stringcint){try{intn;n=Integer.parseInt(cint);returnn;}catch(NumberFormatExceptione){return0;}}%><jsp:useBeanid="mdb"class="ckstudio.db.faq"scope="page"/><script>functionopenbag(id){window.open("basket.jsp?hw_id="+id,"","height=420,width=460,left=190,top=10,resizable=yes,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no");}</script><scriptlanguage="javascript">functionopenScript(url,width,height){varWin=window.open(url,"openScript",'width='+width+',height='+height+',resizable=1,scrollbars=yes,menubar=no,status=yes');}</script><title><%//得到标题栏信息Stringsql="selecttop1*fromsystem";ResultSetrs=mdb.executeQuery(sql);if(rs.next()){%><%=rs.getString("web")%>-<%=rs.getString("sitename")%><%}else{out.print("ckstudio");}%></title></head><bodyonload="if(event.shiftKey){location.href='a/'}"topmargin="0"leftmargin="0"><divalign="center"><center><tableborder="0"cellpadding="0"cellspacing="0"style="border-collapse:collapse"bordercolor="#111111"width="100%"id="AutoNumber1"height="40"><tr><tdalign="center"><ahref="index.jsp">首页</a>|<atarget="_self"href="admin">管理进入</a>|<ahref="allnews.jsp">新闻中心</a>|<ahref="javascript:openScript('buy.jsp',460,300)">购物车</a>|<ahref="javascript:openScript('cash.jsp',460,300)">收银台</a><!--dimrs,sqlsetrs=server.createobject("adodb.recordset")sql="select*fromsort"rs.opensql,conn,3,3ifrs.eofthenresponse.write""endifdowhilenotrs.eof%><!--rs.movenextlooprs.close--><%if((String)session.getValue("user_name")!=null){%>|<ahref=javascript:openScript('modify.jsp',500,340)>更改资料</a>|<ahref="quit.jsp">退出</a>&nbsp;&nbsp;<%}else{%>|更改资料|退出&nbsp;&nbsp;<%}%><!--显示时间--><scriptlanguage="JavaScript"><!--todayDate=newDate();date=todayDate.getDate();month=todayDate.getMonth()+1;year=todayDate.getYear();document.write("今天是")if(navigator.appName=="Netscape"){document.write("<fontcolor=#ff0000>");document.write(1900+year);document.write("</font");document.write("年");document.write("<fontcolor=#ff0000>");document.write(month);document.write("</font");document.write("月");document.write("<fontcolor=#ff0000>");document.write(date);document.write("</font");document.write("日");}if(navigator.appVersion.indexOf("MSIE")!=-1){document.write("<fontcolor=#ff0000>");document.write(year);document.write("</font>");document.write("年");document.write("<fontcolor=#ff0000>");document.write(month);document.write("</font>");document.write("月");document.write("<fontcolor=#ff0000>");document.write(date);document.write("</font>");document.write("日");}//--></script></td></tr></table></center></div>错误:java.lang.NullPointerExceptionorg.apache.jsp.shop.index_jsp._jspService(index_jsp.java:131)org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)javax.servlet.http.HttpServlet.service(HttpServlet.java:802)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
解决方案五:
按2楼回答修改,结果还是那样
解决方案六:
ResultSetrs=mdb.executeQuery(sql);if(rs.next())这两句之间,你把rs打印一下,估计是null
解决方案七:
好像是bug。你把top1去掉,看看有没有结果。
解决方案八:
你单独调试一下你的javabean,应该返回是null
解决方案九:
按6楼所说做的也不行。回7楼,我没JavaBean的源代码。只有部分代码,你帮忙看看:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");定义驱动类型StringstrDirPath=application.getRealPath(request.getRequestURI());strDirPath=strDirPath.substring(0,strDirPath.lastIndexOf('\'))+"\";得到数据库的存放路径Stringurl="jdbc:odbc:driver={MicrosoftAccessDriver(*.mdb)};DBQ="+strDirPath+"db.mdb";定义连接地址Connectionconn=DriverManager.getConnection(url);连接数据库Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery(sql);返回操作结果是JavaBean的原因的可能性有多大?
解决方案十:
引用8楼zuokangxiang的回复:

按6楼所说做的也不行。回7楼,我没JavaBean的源代码。只有部分代码,你帮忙看看:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");定义驱动类型StringstrDirPath=application.getRealPath(request.getRequestURI());strDirPath=strDirPath.s……

你在控制面版的数据源(ODBC)里面配置一下到你的这个mdb文件,然后用下面的测试下看看?sql改下:packagetest.oracle;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;publicclassTestResultRow{privatestaticfinalStringsql="selectaaafromt1";publicstaticString[]getArrayFromAccess(){String[]ret=newString[]{""};ArrayList<String>lst=newArrayList<String>();Connectioncon=null;Statementps=null;ResultSetrs=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");con=DriverManager.getConnection("jdbc:odbc:test1");ps=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=ps.executeQuery(sql);while(rs.next()){rs.last();System.out.println(rs.getRow());}}catch(SQLExceptione){e.printStackTrace();}catch(Exceptione){e.printStackTrace();}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(con!=null){con.close();}}catch(SQLExceptione){e.printStackTrace();}}returnlst.toArray(ret);}publicstaticvoidmain(String[]args){String[]array=TestResultRow.getArrayFromAccess();for(inti=0;i<array.length;i++){System.out.println(array[i]);}}}

解决方案十一:
回9楼:我令privatestaticfinalStringsql="selectaaafromt1";结果为1null是因为连接数据库出了问题吗?
解决方案十二:
我觉得可能是你选出来的东西里有允许空的字段,比如你上面的null,然后你获取该值,后面你又对该值进行了操作。你检查下吧!
解决方案十三:
每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分
解决方案十四:
在9楼的回复有点错误我令privatestaticfinalStringsql="select*fromsystem";
解决方案十五:
access中好象不支持selecttop的用法吧.....
解决方案:
这是数据库中的system表,也就是我开头出问题所查询的表,最后的几个变量没赋值,是这个原因吗?我赋上值结果也没变化id1name张三mail111@163.comwebsitetel123435oicq12356sitenameshopfax1234maddrmsnmnamecode
解决方案:
while(rs。next()){}
解决方案:
最常见的空指针异常。

时间: 2024-10-10 09:13:33

NullPointerException错误的相关文章

openfileoutput-Android文件存取openFileOutput方法报NullPointerException错误

问题描述 Android文件存取openFileOutput方法报NullPointerException错误 public class FileService { private Context context; public void save(String filename, String filecontent) throws Exception { //Context.MODE_PRIVATE,文件私有保存模式.保存的文件不能被其他应用所访问,而且以覆盖的形式保存文件 FileOutp

listview-Android处理程序出现NullPointerException错误

问题描述 Android处理程序出现NullPointerException错误 我在Activity中创建了一个新的Thread.通过输入流,run()方法获取vector对象.现在我想在名称为direc的ListView中显示vector对象的内容.但是程序没有正常运行,抛出了异常. 相关的代码如下: public class FileExplorerActivity extends Activity implements Runnable { public static final Str

Android 中读取SD卡文件时抛出NullPointerException错误解决办法

Android 中读取SD卡文件时抛出NullPointerException错误解决办法 相关源码: package com.example.musicplayer; import java.io.File; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import

Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法_php技巧

当然这个东西很吃内存,配置差点的就不推荐使用了. 最近用的时候, 发现, 建立PHP工程后,再打开 Zend Studio for Eclipse就出现这个错误 An internal error occurred during: "Building PHP projects ..."java.lang.NullPointerException 很烦人的. 出错后PHP projects 会停止build,代码提示就全部没有了.需要手动rebuild. 今天在zend论坛找到一个解决办

java.lang.NullPointerException 错误

问题描述 我写了个des加密程序,我把加解密分开了啊但是就出现了java.lang.NullPointerException,我把的代码附上第一个DESPlus/****/packagecom.des;importjava.security.*;importjavax.crypto.*;/***@authorzhanghu**/publicclassDESPlus{privatestaticStringstrDefaultKey="national";privateCipherencr

java.lang.NullPointerException错误,请大家帮忙解决下啊~

问题描述 </script><%inti=0,j=0;ListlTStation=(List)request.getAttribute("lTStation");ListlWStation=(List)request.getAttribute("lWStation");ListlRStation=(List)request.getAttribute("lRStation");ListlSpline=(List)request.g

axis-AxisFault 错误 java.lang.NullPointerException

问题描述 AxisFault 错误 java.lang.NullPointerException 报错行是UserInfo userinfo = (UserInfo) call.invoke(new Object[] {sid,sysno,ip }); AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.lang.N

java.lang.NullPointerException

问题描述 学习做JSP网页,在前一个网页中做一个查询表单,这个网页中处理查询,可是处理到Stringsale_low_price=request.getParameter("sale_low_price"); 出现java.lang.NullPointerException错误,百度了一下,说是调用了空对象,于是改为Stringsale_low_price=request.getParameter("sale_low_price");if(sale_low_pric

socket-多线程 java.lang.NullPointerException

问题描述 多线程 java.lang.NullPointerException Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at javax.swing.plaf.basic.BasicListUI.paintImpl(BasicListUI.java:266) at javax.swing.plaf.basic.BasicListUI.paint(BasicListUI.java:240)