- Java code
class myConnection{ ResultSet re; String strurl = "jdbc:odbc:sun"; public myConnection() { } public ResultSet getResult(String sql) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn=DriverManager.getConnection(strurl); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet re=stmt.executeQuery(sql); return re; } catch(Exception e) { System.out.println("getResult------"+e.toString()); return null; } } public boolean executeSql(String sql) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn=DriverManager.getConnection("jdbc:odbc:sun", "", ""); Statement stmt=conn.createStatement(); stmt.executeUpdate(sql); conn.commit(); return true; } catch(Exception e) { System.out.println("executeSql----"+e.toString()); return false; } }}
错误是:
getResult------java.sql.SQLException: [Microsoft][ODBC Microsoft Access 驱动程序] 参数不足,期待是 2。
java.lang.NullPointerException
------解决方案--------------------------------------------------------
“[Microsoft][ODBC Microsoft Access 驱动程序] 参数不足,期待是 2。”
把SQL打印出来看看吧,是否需要指定参数的?
------解决方案--------------------------------------------------------
楼主检查下,sql语句的参数数量,和参数的类型,可以打印出sql在数据库中执行下!
------解决方案--------------------------------------------------------
Connection conn=DriverManager.getConnection("jdbc:odbc:sun", "", "");
用户名和密码都没有吗?
------解决方案--------------------------------------------------------
例如表对象不存在、字段名称不对、字段取的顺序不对等 还要自己检查
------解决方案--------------------------------------------------------
例如表对象不存在、字段名称不对、字段取的顺序不对等 还要自己检查
------解决方案--------------------------------------------------------
stmt.executeUpdate(sql);这个为什么是excuteUpdate不是executequery