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

【新手提问】关于JDBC异常的问题。
Java code
import java.sql.*;

public class JDBCDemo {
    public JDBCDemo() {
    }
    public static void main(String[] args){
        try{
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection conn = DriverManager.getConnection("jdbc:odbc:MyODBC","sa","");
            String str = ("insert into job(id,name,age,sex) values(1,'张三',18,'男')");
            Statement stm = conn.createStatement();
            ResultSet rs = stm.executeQuery(str);
            conn.close();
        }catch(ClassNotFoundException cnfe){
            cnfe.printStackTrace();
        }catch(SQLException sqle){
            sqle.printStackTrace();
        }
    }
    
}


我运行后插入是成功了,但是出现
  java.sql.SQLException: No ResultSet was produced
  at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:259)
  at JDBCDemo.main(JDBCDemo.java:13)

请问这是为什么呢?
前辈赐教。谢谢

------解决方案--------------------
insert 语句是不产生结果集的,所以你应该用
Java code
int nunber = stm.executeUpdate(str);
if(number==1){
  // 成功插入数据
}