请教各位,在JDBC-ODBC中怎样把rs记录集中的字段信息取出并同时赋值给二维对象数组,以便在JTable中显示出来.(所有sql表中字段均已定义为varchar)public Object cells[][]=new Object[3][];while (rs.next()) 
{
   for (int i = 0; i < 3; i++) 
       cells[i]= rs.getString(i+1);//此行编译无法通过
}
 
               谢谢!!!

解决方案 »

  1.   

    cells[i]= rs.getString(i+1);
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cells是二维数组,cells[]就是一维数组,而rs.getString()是一个字符串,所以不对。
      

  2.   

    to trumplet(检查):
       在c里面对二维字符数组是可以进行整体赋值的,在java里就不行了么???那代码该怎么改呢???
                                                            thank you!
      

  3.   

    //LZ你想描述的是下面这个意思么:
    public Object cells[][] = new Object[3][];
    int j = 0;
    while (rs.next()) 

       for (int i = 0; i < 3; i++) 
           cells[j][i] = rs.getString(i+1);//此行编译无法通过
       j++;
    }
      

  4.   

    c: “字符串”是一个“字符的一维数组”;
    java:“字符串”是一个“类”。
    这点二者是不同的。
      

  5.   

    你可以做两个集合像vector或arraylist这样的东西把字段放进去,再把这个集合放进另一个集合里不就成了二维了,在jtable里拿出来也方便呀!
      

  6.   

    to wmgpwb(木马):
       你的这种一个一个读字符的办法我也试过,编译不能通过.
    to chalong88(龙):
       用vector或arraylist,这样越弄越复杂了.-----------------哪位能直接给出代码就好了,反正目的就是把记录集里的字段信息读出来写到一个二维数组就行了.
      

  7.   

    写一个类封装一下,DataDTO.java,假设你取出来的是一张二维表格。
    员工号     员工姓名     生日     工资 
    ...          ...        ...       ...
    ...          ...        ...       ...
    .
    .
    .
    /*DataDTO.java
    public class DataDTO {
    String dtono;
    String dtoname;
    String birthday;
    String wage;
    public String getBirthday() {
    return birthday;
    }
    public void setBirthday(String birthday) {
    this.birthday = birthday;
    }
    public String getDtoname() {
    return dtoname;
    }
    public void setDtoname(String dtoname) {
    this.dtoname = dtoname;
    }
    public String getDtono() {
    return dtono;
    }
    public void setDtono(String dtono) {
    this.dtono = dtono;
    }
    public String getWage() {
    return wage;
    }
    public void setWage(String wage) {
    this.wage = wage;
    }

    }
    ArrayList array = new ArrayList();    //import java.util.*;(加上这个包)
    while (rs.next()) 
    {
        DataDTO dd = new DataDTO();
        dd.setDtono(rs.getString(1));
        dd.setDtoname(rs.getString(2));
        dd.setBirthday(rs.getString(3));
        dd.setWage(rs.getString(4));
        array.add(dd); 
    }
    取数据:
    for(int i=0;i<array.size();i++){
        DataDTO dd = (DataDTO)array.get(i);
        System.out.println(dd.getDtono());
        .......
        直接用get方法取数据,不过你的输出语句最好放在循环里面,array是逐行读取数据,因此dd每一次循环,数据都被重赋值了!或者你干脆声明一组DataDTO 类。
    }