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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с базой по сети, не выводит в таблицу (( 
V
    Опции темы
Samotnik
Дата 7.11.2007, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

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



САБЖ
Мой сервер:
Код

class Listener implements Runnable {
            ResultSet rs;
            Socket clientAccepted;

            public Listener(Socket aSocket) {
                clientAccepted = aSocket;
            }

            public void run() {
                String url = "jdbc:sybase:Tds:localhost:2638";
                try {
                    String clientMessage;
                    ObjectInputStream sois = new ObjectInputStream(clientAccepted.getInputStream());
                    ObjectOutputStream soos = new ObjectOutputStream(clientAccepted.getOutputStream());
                    String clientMessageRecieved = (String) sois.readObject();
                    while (clientAccepted.isConnected()) {
                        int h = Integer.parseInt(clientMessageRecieved);
                        switch (h) {
                            case 1: {
                                String nazvanie, brand, strana;
                                int id_tovara, god_vipuska;
                                Vector v = new Vector();
                                System.out.println(clientMessageRecieved);
                                clientMessage = "Hello! You have connected";
                                soos.writeObject(clientMessage);


                                try {
                                    try{Class.forName( "com.sybase.jdbc2.jdbc.SybDriver" );}
                                                    catch(Exception e){ System.out.println("!!!Exception: " + e.getMessage());
                                                     e.printStackTrace();
                                                    }
                                    Connection con = DriverManager.getConnection(url, "dba", "sql");
                                    String stmt_source = "select * from Tovari";
                                    Statement stmt = con.createStatement();
                                    rs = stmt.executeQuery(stmt_source);

                                    while (rs.next()) {
                                        id_tovara = rs.getInt("ID_Tovara");
                                        v.addElement(id_tovara);
                                        nazvanie = rs.getString("Nazvanie");
                                        v.addElement(nazvanie);
                                        god_vipuska = rs.getInt("God_Vipuska");
                                        v.addElement(god_vipuska);
                                        brand = rs.getString("Brand");
                                        v.addElement(brand);
                                        strana = rs.getString("Strana");
                                        v.addElement(strana);
                                    }
                                    v.trimToSize();
                                    soos.writeObject(v.size());
                                    Iterator vItr = v.iterator();
                                    while (vItr.hasNext()) {
                                        soos.writeObject(vItr.next());
                                    }
                                    con.close();
                                }
                                catch (SQLException sqe) {
                                    System.out.println(sqe.getMessage());
                                    sqe.printStackTrace();
                                }
                            }
                            break;

Клиент, кот выводит в таблицу
Код

 class Connect implements ActionListener {
        public void actionPerformed(ActionEvent event) {
            int number, i, num;
            int id_tovara, god_v;
            String  nazvanie, brandd, strana;
            i = 0;

            try {
                try {
                    clientSocket = new Socket("127.0.0.1", 2525);
                    coos = new ObjectOutputStream(clientSocket.getOutputStream());
                    cois = new ObjectInputStream(clientSocket.getInputStream());
                }
                catch (Exception bn) {
                }

                coos.writeObject("1");
                System.setOut(new RusPrintStream());
             number = (Integer)cois.readObject();
             num = number/5;
             while(i!=num) {
                 id_tovara = (Integer)cois.readObject();
                 newContentPane.table.setValueAt(id_tovara,i,0);
                 nazvanie = (String)cois.readObject();
                 newContentPane.table.setValueAt(nazvanie,i,1);
                 god_v = (Integer)cois.readObject();
                 newContentPane.table.setValueAt(god_v,i,2);
                 brandd = (String)cois.readObject();
                 newContentPane.table.setValueAt(brandd,i,3);
                 strana = (String)cois.readObject();
                 newContentPane.table.setValueAt(strana,i,4);
                 i++;
             }
                    
                //--------------------------------------------------------------
               // Connect.disable();
            } catch (Exception e) {
                JOptionPane.showMessageDialog(a, "??? ??????????? ? ???????", "????????", JOptionPane.INFORMATION_MESSAGE);
            }
        }
    }

Все работает (как бы)  но в итоге в таблицу ничего не выводиться (( 
PM MAIL   Вверх
Kangaroo
Дата 7.11.2007, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

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



А данные приходят? Посмотри в дебагге.

Может fireTableDataChanged() нужен, после того, как изменил данные в таблице.


--------------------
Lost....
PM MAIL MSN   Вверх
Samotnik
Дата 7.11.2007, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

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



Цитата(Kangaroo @  7.11.2007,  19:12 Найти цитируемый пост)
А данные приходят? Посмотри в дебагге.

Я уже ))    Нет!!   Почему то  до клиента данные не доходят!!   Хотя сервер выгребает, все что нужно!!
PM MAIL   Вверх
Samotnik
Дата 7.11.2007, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

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



сделал!  smile 
PM MAIL   Вверх
Kangaroo
Дата 7.11.2007, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

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



Поделись smile. Что было неправильно?


--------------------
Lost....
PM MAIL MSN   Вверх
Samotnik
Дата 7.11.2007, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

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



Kangaroo, Нужно было блок try/catch поставить перед выбором операций (на клиенте)
Код

class Connect implements ActionListener {
        public void actionPerformed(ActionEvent event) {
            try{
                     clientSocket = new Socket("127.0.0.1", 2525);
                    coos = new ObjectOutputStream(clientSocket.getOutputStream());
                    cois = new ObjectInputStream(clientSocket.getInputStream());}
        catch(Exception e){System.out.println("AAAAAAAAAAAAAAAA" + e);}
            System.out.println("hello world");
            int number, i, num;
            int id_tovara, god_v;
            String  nazvanie, brandd, strana;
            i = 0;
                try {
             coos.writeObject("1");
             JOptionPane.showMessageDialog(a,cois.readObject(), "Warning", JOptionPane.INFORMATION_MESSAGE);
             System.setOut(new RusPrintStream());
             number = (Integer)cois.readObject();
             System.out.println("Данные ");
             num = number/5;
             while(i!=num) {

 smile 
PM MAIL   Вверх
Kangaroo
Дата 7.11.2007, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

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



Цитата(Samotnik @  7.11.2007,  20:53 Найти цитируемый пост)
Kangaroo, Нужно было блок try/catch поставить перед выбором операций (на клиенте)

Стоп ) А чем это помогло? Получается раньше экспешн вываливался, а ты его не видел?



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

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

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


 




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


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

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