第一个问题,怎么取到jdbtable每一列的列名,默认显示的DataSet中的字段名,我想把它改成中文,还有,默认显示每一列宽度时,是数据库中字段的宽度,我想自定义没一列的宽度

解决方案 »

  1.   

    怎么这么冷清呀?
    我的jdbtable对应的QueryDataSet为queryDataSet1,我的方法如下:queryDataSet1.getColumn("bh").setCaption("编号");
    或queryDataSet1.getColumn(0).setCaption("编号");
    但是出现异常java.lang.NullPointerException
                       at testdbapp.Frame1.jbInit(Frame1.java:60)
      

  2.   

    帮我顶呀,这个问题不难吧,帮助上是这么说的,但是我试了,总是出现异常!
    Column headers: 
        By default, a JdbTable has a column header with black text on a gray background. Each column's default text is the caption property of the corresponding DataSet Column. To change the text, set the caption property. To display several lines of text in a column header, separate them with newline characters, '\n', in the Column's caption. To hide column headers, set the columnHeaderVisible property to false
      

  3.   

    JdbTable这个类是哪里来的?没见过
      

  4.   

    JdbTable是dbSwing里的一种,怎么没有人回答呢?难道这个问题很难吗?
      

  5.   

    你所说的jdbtable是不是你们自己封装的类啊??只见过jtable………………难道是我孤陋寡闻???????
      

  6.   

    怎么搞的?jdbtable是dbSwing里的一个控件呀,jbuilder里提供的,jtable也是jbuilder提供的,怎么会不知道呢?
      

  7.   

    汗,JTable是java标准API里的。JBuilder带的没有研究过。
      

  8.   

    它不是标准的东西是com.borland里面的。
    至于你说的问题不是用jdbtable的问题,而是你写的代码的问题。
    我是的时候没有异常发生,就是不知道怎样叫它显示出数据来!
      

  9.   

    queryDataSet1.getColumn("bh").setCaption("编号");
    或queryDataSet1.getColumn(0).setCaption("编号");在执行这条语句之前,先要执行queryDataSet1.open()操作请教一下:queryDataset.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(
              database1, "由查询条件构成的sql语句", null, true,
              Load.ALL));这个执行完之后,必须要执行一下queryDataSet1.open()或queryDataSet1.refresh()操作吗?
      

  10.   

    我最近也在用dbSwing和DataExpress做数据库,关于DataSet的open和close方法的作用也不太明白,希望互相切磋。下面是几断代码:
     String SQL_SELECT_ALL_FROM_PLACE = "SELECT place_id, placename, introduction,placephoto FROM PLACE";
         dataset.close();
         dataset.setMetaDataUpdate(MetaDataUpdate.ALL);
         dataset.setTableName("PLACE");
         dataset.setEnableDelete(true);
         dataset.setEnableInsert(true);
         dataset.setEnableUpdate(true);
         this.dataset.setQuery(new QueryDescriptor(
             this.database, SQL_SELECT_ALL_FROM_PLACE, null, true, Load.ALL));
         dataset.open();
         dataset.close();
         dataset.getColumn(0).setCaption("ID");
         dataset.getColumn(1).setCaption("景点名"); //Placename
         dataset.getColumn(2).setCaption("简介");  //Introdution
         dataset.getColumn(3).setCaption("图片");  //placephoto
    -------------------------------------
        QueryDataSet dataset2 = new QueryDataSet();
          String SQL_UPDATE_USERTABLE_CHANGE_PASSWORD =
              "UPDATE USERTABLE SET password=CONVERT(varbinary(50),'" +
              EncryptDecrypt.Encrypt(newpassword) + "') WHERE (username = '" +
              CurrentUser.getCurrentUsername() +
              "') AND (password = CONVERT(varbinary(50),'" +
              EncryptDecrypt.Encrypt(oldpassword) + "'))";
          dataset2.close();
          dataset2.setMetaDataUpdate(MetaDataUpdate.ALL);
          dataset2.setTableName("USERTABEL");
          dataset2.setEnableUpdate(true);
          dataset2.setQuery(new QueryDescriptor(
              this.database, SQL_UPDATE_USERTABLE_CHANGE_PASSWORD, null, true,
              Load.ALL));
          try {
            dataset2.open();//这里必须处理异常,否则不能正确执行
          }catch (DataSetException exception) {      }希望对兄台有所帮助
      

  11.   

    从resultset中使用游标遍历集,用向量保存每一行的值,再用另一个向量或ARRAYLIST保存行数等信息,列名列类型待都可以用METADATA元数据获取
    建议这些东东多看一下JDBC数据库编程
      

  12.   

    光标的移动可以使用绝对定位和相对定位两种,具体是你用JAVA一些集合保存数据后,或用DATASET保存后,这些集合或是类都提供有相应功能的