问题描述
importjava.io.File;importjava.sql.*;publicclassConnectAccess{publicstaticStringreplyFromDB(Stringtext){Stringstrurl="jdbc:odbc:driver={MicrosoftAccessDriver(*.mdb,*.accdb)};DBQ=D:"+File.separator+"a1.accdb";Stringresult="null";try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectionconn=DriverManager.getConnection(strurl);Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery("SELECTreplyFROMTable1WHEREmsgLIKE'%"+text+"%'");while(rs.next())result=rs.getString("reply");rs.close();stmt.close();conn.close();}catch(ClassNotFoundExceptione){e.printStackTrace();}catch(SQLExceptione){e.printStackTrace();}returnresult;}publicstaticvoidmain(Stringargs[]){System.out.println(replyFromDB("老王啊啊啊"));}}
replyFromDB(Stringtext)这个方法可在下面的主方法中执行成功并返回正确结果,在测试类中也可以publicclassA{publicstaticvoidmain(String[]args){//System.out.println(ConnectAccess.replyFromDB("老王啊啊啊"));test();}publicstaticvoidtest(){System.out.println(ConnectAccess.replyFromDB("老王啊啊啊"));}}
但在另一个方法中执行相同的语句【System.out.println(ConnectAccess.replyFromDB("老王啊啊啊"));】却返回“null”,来个大神求解。无编译错误,引入之类的都有,就是返回结果一直是“null”
解决方案
解决方案二:
1、如果有异常把异常信息看看2、如果没异常,就那么几行代码,一行一行调试一下不就的了做程序员最重要的就是学习能力,得学会自己调试啊。
解决方案三:
引用1楼rumlee的回复:
1、如果有异常把异常信息看看2、如果没异常,就那么几行代码,一行一行调试一下不就的了做程序员最重要的就是学习能力,得学会自己调试啊。
我重启了几次eclipse就好了,感觉java很不稳定的样子。