Connection conn=null;
            Statement st = null;
             ResultSet rs = null;
        try {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载JDBC-ODBC驱动程序
            } catch (ClassNotFoundException e1) {
                JOptionPane.showMessageDialog(null, "提示您数据库加载失败!");
            }
            try {
               conn = DriverManager.getConnection("jdbc:odbc:sqlbase");
            } catch (SQLException e2) {
                JOptionPane.showMessageDialog(null, "提示您数据库连接失败!");
            }
             st  = conn.createStatement();           JOptionPane.showMessageDialog(null, "连接成功!");          rs=st.executeQuery("insert into patient(num,weight,sex) values(1012,30,'女')" );
[size=10px]到这一步之后,数据库能添加一条记录,但有java编辑器中出现很多错误提示。[/size]
run:
2009-4-6 17:34:21 clinicpath1.firstframe jMenuItem2ActionPerformed
严重: null
java.sql.SQLException: No ResultSet was produced
        at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:259)
        at clinicpath1.secondframe.<init>(secondframe.java:53)
        at clinicpath1.firstframe.jMenuItem2ActionPerformed(firstframe.java:128)
        at clinicpath1.firstframe.access$100(firstframe.java:22)
        at clinicpath1.firstframe$2.actionPerformed(firstframe.java:81)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266)
        at java.awt.Component.processMouseEvent(Component.java:6134)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at java.awt.Component.processEvent(Component.java:5899)
        at java.awt.Container.processEvent(Container.java:2023)
        at java.awt.Component.dispatchEventImpl(Component.java:4501)
        at java.awt.Container.dispatchEventImpl(Container.java:2081)
        at java.awt.Component.dispatchEvent(Component.java:4331)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
        at java.awt.Container.dispatchEventImpl(Container.java:2067)
        at java.awt.Window.dispatchEventImpl(Window.java:2458)
        at java.awt.Component.dispatchEvent(Component.java:4331)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
          // System.out.println(nn);

解决方案 »

  1.   

       rs=st.executeQuery("insert into patient(num,weight,sex) values(1012,30,'女')" ); 
    添加不是executeUpdate(sql);??
      

  2.   

    executeUpdate返回:
    包含给定查询所生成数据的 ResultSet 对象;永远不能为 null 
    执行insert应该不返回resultset。
      

  3.   

    executeUpdate返回:
    包含给定查询所生成数据的 ResultSet 对象;永远不能为 null 
    执行insert应该不返回resultset。
      

  4.   

    错了,是executeQuery返回包含给定查询所生成数据的 ResultSet 对象;永远不能为 null 。
    insert应该不能用executeQuery
      

  5.   

    rs=st.executeQuery("insert into patient(num,weight,sex) values(1012,30,'女')" ); //你别把结果赋值给rs,赋值给一个int型的数。rs是接收select结果的
      

  6.   


    7楼说的对executeQuery(String sql)中的参数sql是查询语句插入操作用executeUpdate(String sql)试试
              
             
             
      
      

  7.   

    java.sql.SQLException: No ResultSet was produced 
    你的错误异常是:没有结果集,
    插入一个条数据怎么会有结果集返回呢,所以错了吗,应该是返插入数据的条数吧,
    用execute()应该可以吧!
      

  8.   

    把executeQuery()换成executeUpdate()
    可以的
      

  9.   

    问题结局了。rs.next();
    呵呵,少了这个语句。
      

  10.   

    上面的都是executeQuery换成executeUpdate
    还有就是没有close掉 
      

  11.   


    rs=st.executeQuery("insert into patient(num,weight,sex) values(1012,30,'女')" ); 这句有误,
    st.execute(增删查改SQL语句);
    而查【select】应该是
    ResultSet rs=st.executeQuery("select ... from ...");增【insert】
    [code=Java][int i=st.executeUpdate("insert ...");//i--指得是插入SQL语句执行成功后影响的表中记录数。/code]
      

  12.   

    rs里保存的是查询的结果集
    不能向rs里赋值
    应该这样st.executeUpdate(sql);