Статьи Галерея Форум Чат Файлы HowTo Ссылки Поиск
Текущее время: 19 май 2019, 22:32




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Подключение данных БД к таблице
СообщениеДобавлено: 15 май 2006, 10:50 
Интересующийся

У нас с: 09.03.2004
Сообщения: 70
Откуда: г. Минск
Вот фрагмент кода, который у меня вызывает ошибки:

Код:
    Connection dbConn = null;
        try {
            // using the driver
            Driver d = (Driver)Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
        } catch (IllegalAccessException ex) {
            ex.printStackTrace();
        } catch (InstantiationException ex) {
            ex.printStackTrace();
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }
    // URL corresponding to the ODBC DSN
    String URL = "jdbc:odbc:MYDB";
        try {
            // DB logon
            dbConn = DriverManager.getConnection(URL, "SYSDBA", "masterkey");
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    PreparedStatement  stmt;
    ResultSet rs = null;
        try {
            stmt = dbConn.prepareStatement("select * from tbl_client");
            rs = stmt.executeQuery();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }

    // TableModel definition
    String[] tableColumnsName = {"id_client","xname"};
    DefaultTableModel aModel = (DefaultTableModel) jTable1.getModel();
    aModel.setColumnIdentifiers(tableColumnsName);
        java.sql.ResultSetMetaData rsmd;
        try {
            rsmd = rs.getMetaData();
            int colNo = rsmd.getColumnCount();
            while(rs.next()){
                Object[] objects = new Object[colNo];
//                System.out.println(rs.getString("id_client"));
//                System.out.println(rs.getString("xname"));
                for(int i=0;i<colNo;i++){
//                    System.out.println(rs.getString("id_client"));
                    objects[i]=rs.getObject(i);
                }
                aModel.addRow(objects);
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        jTable1.setModel(aModel);


Вопрос первый.
Когда наименования данных в таблице представлены как русскоязычные, программа "падает" на строке rs.next().
Почему и как исправить ?

Вопрос второй.
При попытке выполнения objects[i]=rs.getObject(i); возникает исключение java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid descriptor index.
Пример работы с JTable и setModel() взял со стороны, поэтому за него "зуб дать" не могу.


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
[ All resources are available under GNU GPL ] [ Support ] [ Hosted by DataHata | MyCloud.by ] [ Powered by phpBB® Forum Software © phpBB Group ]

LVEE Winter LVEE Rambler's Top100