queryDataSet1.close();
queryDataSet1.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(database1, sqlstatement, null, true, Load.ALL));
queryDataSet1.open();//你忘了打开DataSet

解决方案 »

  1.   

    可加了这句还是不对阿
    错误为
    See com.borland.dx.dataset.DataSetException error code:  BASE+62com.borland.dx.dataset.DataSetException: Execution of query failed. at com.borland.dx.dataset.DataSetException.a(Unknown Source) at com.borland.dx.dataset.DataSetException.queryFailed(Unknown Source) at com.borland.dx.sql.dataset.QueryProvider.a(Unknown Source) at com.borland.dx.sql.dataset.JdbcProvider.provideData(Unknown Source) at com.borland.dx.dataset.StorageDataSet.a(Unknown Source) at com.borland.dx.dataset.DataSet.a(Unknown Source) at com.borland.dx.dataset.DataSet.open(Unknown Source) at com.seu.bank.admin.Main.jButton1_actionPerformed(Main.java:1151) at com.seu.bank.admin.Main$3.actionPerformed(Main.java:325) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245) at java.awt.Component.processMouseEvent(Component.java:5093) at java.awt.Component.processEvent(Component.java:4890) at java.awt.Container.processEvent(Container.java:1566) at java.awt.Component.dispatchEventImpl(Component.java:3598) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095) at java.awt.Container.dispatchEventImpl(Container.java:1609) at java.awt.Window.dispatchEventImpl(Window.java:1585) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.EventQueue.dispatchEvent(EventQueue.java:450) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136) at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)Chained exception:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]No ResultSet set was produced. at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source) at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source) at com.microsoft.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source) at com.borland.dx.sql.dataset.o.f(Unknown Source) at com.borland.dx.sql.dataset.QueryProvider.e(Unknown Source) at com.borland.dx.sql.dataset.JdbcProvider.provideData(Unknown Source) at com.borland.dx.dataset.StorageDataSet.a(Unknown Source) at com.borland.dx.dataset.DataSet.a(Unknown Source) at com.borland.dx.dataset.DataSet.open(Unknown Source) at com.seu.bank.admin.Main.jButton1_actionPerformed(Main.java:1151) at com.seu.bank.admin.Main$3.actionPerformed(Main.java:325) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245) at java.awt.Component.processMouseEvent(Component.java:5093) at java.awt.Component.processEvent(Component.java:4890) at java.awt.Container.processEvent(Container.java:1566) at java.awt.Component.dispatchEventImpl(Component.java:3598) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095) at java.awt.Container.dispatchEventImpl(Container.java:1609) at java.awt.Window.dispatchEventImpl(Window.java:1585) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.EventQueue.dispatchEvent(EventQueue.java:450) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136) at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
      

  2.   

    还有一个问题就是
    我要从数据库中返回一个查询结果,并将其储存为一个String值
    用queryDataSet组件,这个代码该如何写?是这样吗?
    queryDataSet1.close(); queryDataSet1.setQuery(new   com.borland.dx.sql.dataset.QueryDescriptor(database1, sqlstatement, null, true, Load.ALL));String sqlres = queryDataSet1.getString(0);queryDataSet1.open();
    还是该如何写?
      

  3.   

    在SQL中,字符应该用单引号''括起来:
    "SELECT U_Password FROM Userinfo WHERE UID = '" + Uname + "'"先open,再getString:
    queryDataSet1.open();
    String sqlres = queryDataSet1.getString(1);//index从1开始
      

  4.   

    queryDataSet1.empty();有什么作用?
    在使用queryDataSet时,用不用把以前别的函数中在调用queryDataSet1.setQuery()时写的sql语句清空,还是queryDataSet1.close();就能达到这样的效果?
    好像我记得在C++Builder中用ADOQuery进行sql语句查询时要清空,好像就这样:
    ADOQuery1->Active = false;
    ADOQuery1->SQL->Clear();
    .....
    ADOQuery1->Active = true;
    在JBuilder中的queryDataSet要不要这样做呢?
      

  5.   

    String sqlres = queryDataSet1.getString(1);
    sqlres将返回一个数字值,但是以String存储
    String amount = jTextField1.getText();
    amount为输入的一个数字值,如何对sqlres和amount的数字值的大小做比较?
      

  6.   

    不需要啊!只要关闭就可以了!Cbuilder也是可以不需要的!你只要使用 
    SQL->SetText(_T(SQL))就行了!