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);
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);
添加不是executeUpdate(sql);??
包含给定查询所生成数据的 ResultSet 对象;永远不能为 null
执行insert应该不返回resultset。
包含给定查询所生成数据的 ResultSet 对象;永远不能为 null
执行insert应该不返回resultset。
insert应该不能用executeQuery
7楼说的对executeQuery(String sql)中的参数sql是查询语句插入操作用executeUpdate(String sql)试试
你的错误异常是:没有结果集,
插入一个条数据怎么会有结果集返回呢,所以错了吗,应该是返插入数据的条数吧,
用execute()应该可以吧!
可以的
呵呵,少了这个语句。
还有就是没有close掉
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]
不能向rs里赋值
应该这样st.executeUpdate(sql);