老是抛异常

解决方案 »

  1.   

    是不是抛出这个错误:General error: Client does not support authentication protocol requested by server; consider upgrading MySQL client
      

  2.   

    莫非你还用了RowSet中的setPassword(String password) 方法
      

  3.   

    java.sql.SQLException: Before start of result set
    at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java:666)
    at com.mysql.jdbc.UpdatableResultSet.checkRowPos(UpdatableResultSet.java:239)
    at com.mysql.jdbc.ResultSet.getObject(ResultSet.java:4223)
    at com.sun.rowset.JdbcRowSetImpl.getObject(JdbcRowSetImpl.java:1631)
    at sql.RowSetChangeListener.rowChanged(RowSetDemo.java:53)
    at javax.sql.rowset.BaseRowSet.notifyRowChanged(BaseRowSet.java:629)
    at com.sun.rowset.JdbcRowSetImpl.insertRow(JdbcRowSetImpl.java:2981)
    at sql.RowSetDemo.main(RowSetDemo.java:34)-----------------------
    插入好像可以成功的,但是还是抛异常
    也的确用了RowSet中的setPassword(String password) 方法
    不知道这个有什么问题?
    请指教!
      

  4.   

    Mysql从4.1开始用了新的认证协议(password的hashing算法改了:4.1以后password函数的输出结果是41位的,而4.1之前的是16 位的),如果用老版本的client连接的话就会出错。有一些条件,旧版的驱动程序没有要求,但新版的驱动一定要求,也就导致了你的问题的产生
      

  5.   

    不过好像问题不在这里啊
    我调试了一下,发现是rowset.getObject(int index)的问题另外哪有rowset.jar 的javadoc和源代码下,sun上找了一下没找到
      

  6.   

    http://dev.mysql.com/downloads/下个新的驱动吧  强烈建议