Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> результат запроса (ODBC) в таблицу 
:(
    Опции темы
Snik
Дата 14.2.2008, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



Прошу помогите вывести результат в таблицу 
этот  код  у меня работает только немогу через массив как то в таблицу ...

как заменить Object[][] data = {   {"1","1","1","1","e"},{"2","2","2","2","e2"},{"3","3","3","3","3"}};
на Object[][] data = { мойМассив}; 
как правильно его обьявить ?
  

Код


class MyTable extends JPanel{
  MyTable(){

        String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
        String url = "jdbc:odbc:MyExcel";
        String fName;
        int fId;
        Object fSalary;
        Object fStat;
    Object fDat;
        Connection con1 = null;
        Statement st;
        ResultSet rs;
        try
        {
            Class.forName(driver);
        }
        catch(ClassNotFoundException cnfe)
        {   
            System.err.println("Cant find JDBC driver");
            cnfe.printStackTrace();
            System.exit(1);
        }
        try
        {
          con1 = DriverManager.getConnection(url, null, null);
        }
        catch(SQLException se)
        {
            System.err.println("DB connection error");
            se.printStackTrace();
            System.exit(1);
        }
        try
        {
            st = con1.createStatement();
            rs = st.executeQuery("select * from [Sheet1$]");
            while (rs.next())
            {
                fId = rs.getInt("id");
                fName = rs.getString(2);
                fSalary = rs.getObject(3);
        fStat = rs.getObject(4);
                fDat = rs.getObject(5);
                System.out.println("id= " + fId + ", name= " + fName+", salary="+fSalary.toString()+", status="+fStat+", date="+fDat);
            }
        }
        catch(SQLException se)
        {
            System.err.println("JDBC execution error");
            se.printStackTrace();
            System.exit(1);
        }
        try
        {
            con1.close();
        }
        catch(SQLException se)
        {
            System.err.println("Connection close error");
            se.printStackTrace();
            System.exit(1);
        }

       //прорисуем таблицу
     String[] headings = {"id", "name", "salary","status","date"};
     Object[][] data = {   {"1","1","1","1","e"},{"2","2","2","2","e2"},{"3","3","3","3","3"}};
     JTable jtab = new JTable(data,headings);
     JScrollPane jscrlp = new JScrollPane(jtab);
     add(jscrlp);

  }
}

PM MAIL   Вверх
AndrewMormysh
Дата 14.2.2008, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 8.2.2008

Репутация: 1
Всего: 1



Как пример: (или я не так понял суть проблемы?)
Код

class Array{
    int rowCount;
    int colCount;
    int myItem;
    Object[] myRow;
    Object[] myArray;
    public static void main(String[] args){
        Array a = new Array();
        a.rowCount = 3;
        a.colCount = 5;
        a.myArray = new Object[a.rowCount];
        for(int i = 0; i < a.rowCount; i++){
            a.myRow = new Object[a.colCount];
            for(int j = 0; j < a.colCount; j++){
                a.myItem = i + 1;
                a.myRow[j] = a.myItem;
            }
            a.myArray[i] = a.myRow;
        }
        for(int i = 0; i < a.rowCount; i++){
            for(int j = 0; j < a.colCount; j++){
                System.out.print(((Object[])a.myArray[i])[j]);
            }
            System.out.println("");
        }
    }
}


Это сообщение отредактировал(а) AndrewMormysh - 14.2.2008, 20:44
PM MAIL   Вверх
Snik
Дата 14.2.2008, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



че-то недодумаюсь как применить в своем контексте....
PM MAIL   Вверх
Snik
Дата 14.2.2008, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



 smile 

ну как вывести в таблицу информацию если я знаю точно колонок 5 а строк неизвестно ?
PM MAIL   Вверх
AndrewMormysh
Дата 14.2.2008, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 8.2.2008

Репутация: 1
Всего: 1



Возможно стоит задуматься - а зачем тебе выводить "неизвестное" число строк?
Если очень надо, то a.rowCount = 1000000 (см. код выше), столько хватит? smile
PM MAIL   Вверх
Snik
Дата 14.2.2008, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



если нетрудно покажи будь добр как мне это в моем классе записать 

если здесь я должен считать информацию
Код

...
  st = con1.createStatement();
            rs = st.executeQuery("select * from [Sheet1$]");
            while (rs.next())
            {
                fId = rs.getInt("id");
                fName = rs.getString(2);
                fSalary = rs.getObject(3);
        fStat = rs.getObject(4);
                fDat = rs.getObject(5);
                System.out.println("id= " + fId + ", name= " + fName+", salary="+fSalary.toString()+", status="+fStat+", date="+fDat);
            }
...


а здесь вывести
Код

...
  //прорисуем таблицу
     String[] headings = {"id", "name", "salary","status","date"};
     Object[][] data = {   {"1","1","1","1","e"},{"2","2","2","2","e2"},{"3","3","3","3","3"}};
     JTable jtab = new JTable(data,headings);
     JScrollPane jscrlp = new JScrollPane(jtab);
     add(jscrlp);
...

PM MAIL   Вверх
AndrewMormysh
Дата 15.2.2008, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 8.2.2008

Репутация: 1
Всего: 1



Можно чисто классически - сделать очередь:
Код

class Data{
    float fId;
    float fName;    
    float fSalary;    
    float fStat;    
    float fDat;
    Data pNext;
    Data(float fId,    float fName, float fSalary, float fStat, float fDat){
     this.fId = fId;
        this.fName = fName;    
     this.fSalary = fSalary;    
     this.fStat = fStat;    
     this.fDat = fDat;
    }
}

class Array2{
    public static void main(String[] args){
        Data d;
        Data dHead;
        Data tmp;
        
        float fId;
        float fName;    
     float fSalary;    
     float fStat;    
     float fDat;
    
        int iCount = (int)(Math.random()*100);
        int i = 1;
        // Read data
        fId = (float)(Math.random()*10);
        fName = (float)(Math.random()*10);    
        fSalary = (float)(Math.random()*10);    
        fStat = (float)(Math.random()*10);    
        fDat = (float)(Math.random()*10);
        d = new Data(fId, fName, fSalary, fStat, fDat);
        dHead = d;
        while(iCount > i){
            fId = (float)(Math.random()*10);
            fName = (float)(Math.random()*10);    
            fSalary = (float)(Math.random()*10);    
            fStat = (float)(Math.random()*10);    
            fDat = (float)(Math.random()*10);
            
            tmp = new Data(fId, fName, fSalary, fStat, fDat);
            d.pNext = tmp;
            d = tmp;
            i++;
        }
        // Print data
        d = dHead;
        while(!(d.pNext == null)){
            System.out.println(d.fId + " | " + d.fName + " | " + d.fSalary + " | " + d.fStat + " | "  + d.fDat);
            d = d.pNext;
        }
    }
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.3199 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.