各位朋友,不好意思,上面的错我解决了,但现在又有一个错误,就是当我用
jdbNavToolBar增加或修改数据,然后按save change时它就出现如下错误:
[Microsoft][ODBC Microsoft Access  驱动程序] 文件名无效。
麻烦各位大虾们给个意见,Thanks!

解决方案 »

  1.   

    操作系统中ODBC数据源没有设置驱动用ms。jdbc.odbc.JdbcOdbcDriver程序拿来看看!
      

  2.   

    我当然设置了,如果不设置,JBuilder根本不能测到数据库,上面从多问题也都有点头绪了,但现在又出现了这样的错误:
      [Microsoft][ODBC Microsoft Access  驱动程序] INSERT INTO 语句的语法错误。
      

  3.   

    当然,上面的错误不是在程序中写的语句,而是JBuilder自带控件产生的,它开始时的错误是叫我设置RowID,我已经设置了,错误也解决,然后我增加数据时他又我再到queryDataSet中设置TableName属性中设置,我也设置了,错误也解决了,然后再执行增加操作,但它就出现上面的错了,我的程序如下:
    package test;import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import com.borland.jbcl.layout.*;
    import com.borland.dx.sql.dataset.*;
    import com.borland.dbswing.*;
    import com.borland.dx.dataset.*;public class Frame1 extends JFrame {
      JPanel contentPane;
      XYLayout xYLayout1 = new XYLayout();
      Database database1 = new Database();
      QueryDataSet queryDataSet1 = new QueryDataSet();
      TableScrollPane tableScrollPane1 = new TableScrollPane();
      JdbTable jdbTable1 = new JdbTable();
      JdbNavToolBar jdbNavToolBar1 = new JdbNavToolBar();
      Column column1 = new Column();
      Column column2 = new Column();  //Construct the frame
      public Frame1() {
        enableEvents(AWTEvent.WINDOW_EVENT_MASK);
        try {
          jbInit();
        }
        catch(Exception e) {
          e.printStackTrace();
        }
      }
      //Component initialization
      private void jbInit() throws Exception  {
        //setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));
        contentPane = (JPanel) this.getContentPane();
        contentPane.setLayout(xYLayout1);
        this.setSize(new Dimension(400, 300));
        this.setTitle("Frame Title");
        database1.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor("jdbc:odbc:tok", "", "", false, "sun.jdbc.odbc.JdbcOdbcDriver"));
        database1.setDatabaseName("");
        queryDataSet1.setMetaDataUpdate(MetaDataUpdate.TABLENAME+MetaDataUpdate.PRECISION+MetaDataUpdate.SCALE+MetaDataUpdate.SEARCHABLE);
        queryDataSet1.setTableName("");
        queryDataSet1.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(database1, "SELECT ttt.\"姓名\",ttt.\"班级\" FROM\"D:\\TDC\\ACCESS\\TDCDATA\".ttt", null, true, Load.ALL));
        jdbTable1.setDataSet(queryDataSet1);
        jdbNavToolBar1.setDataSet(queryDataSet1);
        column1.setColumnName("姓名");
        column1.setDataType(com.borland.dx.dataset.Variant.STRING);
        column1.setPrecision(10);
        column1.setRowId(true);
        column1.setTableName("");
        column1.setServerColumnName("姓名");
        column1.setSqlType(12);
        column2.setColumnName("班级");
        column2.setDataType(com.borland.dx.dataset.Variant.STRING);
        column2.setPrecision(10);
        column2.setTableName("");
        column2.setServerColumnName("班级");
        column2.setSqlType(12);
        queryDataSet1.setColumns(new Column[] {column1, column2});
        contentPane.add(tableScrollPane1,  new XYConstraints(4, 7, 388, 213));
        contentPane.add(jdbNavToolBar1,  new XYConstraints(18, 230, -1, -1));
        tableScrollPane1.getViewport().add(jdbTable1, null);
      }
      //Overridden so we can exit when window is closed
      protected void processWindowEvent(WindowEvent e) {
        super.processWindowEvent(e);
        if (e.getID() == WindowEvent.WINDOW_CLOSING) {
          System.exit(0);
        }
      }
    }现在不知那里再可以设置了,你帮我看看吧,解决了加分,代表我的心意!!
      

  4.   

    需将Query之类连接数据库的组件的RequestLive设为true,OK?
      

  5.   

    JAVA论坛的高手们,去哪里了呀?
    快来看看。难道JAVA论坛没有JBUILDER的高手?
      

  6.   

    在jb中必须设计解析器才能将数据存储到数据库中,一种是通过控件,如:按钮,
    二是通过设置jdbNavToolBar1的解析属性就可以了!
      

  7.   

    我也想知怎样设置jdbNavToolBar1,但就是这个原因才不能!
      

  8.   

    jdbNavToolBar1的属性中有一个DataSet属性,设置它为queryDataSet1就可以进行数据库修改了!我试过!
      

  9.   

    to tdchjy (蓝天) 
    请问一下,对于一个完整的系统而言,,通常需要很多的数据库操作,那是不是每进行一次,都需要进行数据库的连接,那不是系统速度很慢嘛!!
      

  10.   

    大哥!你有jbuilder 6的注册码吗?
      

  11.   

    飞云兄:
        这个我当然也设置了,上面已经说过了,但我不行,我是用JDBC—ODBC连SQL2000的,试过很多次了,不行,这样我才上来CSDN找高手指教。你的问题是问数据库系统吗?我还是不太清楚?请你说详细点!谢谢!
      

  12.   

    飞云兄:
        这个我当然也设置了,上面已经说过了,但我不行,我是用JDBC—ODBC连SQL2000的,试过很多次了,不行,这样我才上来CSDN找高手指教。你的问题是问数据库系统吗?我还是不太清楚?请你说详细点!谢谢!
      

  13.   

    把jdbTable1放到一个jdbScrollPanel里面就可以了
      

  14.   

    to lkenshin(独钓寒江雪) :
         我想这个没有影响吧!
      

  15.   

    大哥们,请你们告诉我JBjbuilder 6 的注册码,小弟我万分感谢!!!大哥们,请你们告诉我JBjbuilder 6 的注册码,小弟我万分感谢!!!大哥们,请你们告诉我JBjbuilder 6 的注册码,小弟我万分感谢!!!