日期:2014-05-20  浏览次数:20823 次

求教!!!!
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