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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите разобраться с примером! Пожалуйста. 
:(
    Опции темы
vurdalak19
  Дата 23.8.2013, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Реализовать на Java программу, которая читает курс валюты (рубль к доллару) и складывает в базу данных.
Курс получать на сайте Центробанка РФ, обращаясь к соответствующему вебсервису.
Вот сайт на котором это уже сделано.
Вот листинги:

 
Код

Листинг 1
import java.io.*;
import java.net.*;
import java.util.*;
import java.text.*;
import java.sql.*;
 
import ConnectManager;
 
class Terra implements HttpConstants {
 
  static void onRBC() throws IOException {
 
    URL homeRBC = null;
    DataInputStream dis = null;
    String full = new String();
 
    boolean cont2 = false;
    try {
        homeRBC = new URL("http://www.rbc.ru/out/801.csv");
        dis = new DataInputStream(homeRBC.openStream());
 
        String line = dis.readLine();
        while(line != null) {
            full += line + "\n";
            line = dis.readLine();
        }
        cont2 = true;
    } catch(IOException e) {
        System.out.println("Error for connection to RBC ...");
    }
    if(cont2==true) {
        String cbr = toUnicode(full);
        int ndx = cbr.indexOf("USD OA ?O,");
        full = cbr.substring(ndx);
        full = full.substring(0,31);
 
        String cbrDate = full.substring(10);
        cbrDate = cbrDate.substring(0,5);
        String cbrValue = full.substring(16);
        cbrValue = cbrValue.substring(0,7);
 
        System.out.println(cbrDate);
        System.out.println(cbrValue);
 
        Connection con = ConnectManager.getConnectionToRBC();
        try {
            PreparedStatement logSt1 = con.prepareStatement("UPDATE rbc SET cbrValue = ? WHERE Name = 'USD'");
            logSt1.setString(1, cbrValue);
            int res = logSt1.executeUpdate();
            logSt1.close();
            PreparedStatement logSt2 = con.prepareStatement("UPDATE rbc SET cbrDate = ? WHERE Name = 'USD'");
            logSt2.setString(1, cbrDate);
            res = logSt2.executeUpdate();
            logSt2.close();
            ConnectManager.closeConnection(con);
        } catch (SQLException ex) {
            System.out.println("Error SQL ...");
        }
    }
  }
 
  public static void main(String[] a) throws Exception {
    onRBC();
  }
}
  Листинг 2
import java.io.*;
import java.util.*;
import java.net.*;
import java.text.*;
import java.sql.*;
 
public class ConnectManager {
 
  public static Connection getConnectionToRBC() throws IOException {
       Connection con = null;
       Locale.setDefault(new Locale("ru","RU"));
       try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con = DriverManager.getConnection("jdbc:odbc:rbc", "", "");
       } catch(Exception ex) {
       }
       return con;
  }
 
  public static void closeConnection(Connection con) throws IOException {
       try {
    con.close();
       } catch (SQLException e) {
       }
  }
 
  public static String toUnicode(String str) throws IOException {
       try {
    String charset="windows-1251";
    byte[] buf = new byte[str.length()];
    str.getBytes(0, str.length(), buf, 0);
    return new String(buf);
       } catch(Exception e) {
    return "Error toUnicode";
       }
  }
}


Я здесь вижу, что тут берутся данные с сервера. Но не понятно где они складываются, например на компьютере? Вот в этом весь вопрос где здесь складываются данные в базу, а не берутся ? Или это какой то не доделанный вариант?
PM MAIL   Вверх
Mirkes
Дата 23.8.2013, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



[quote=vurdalak19, 23.8.2013,  21:50, post2579625]        
Код

        System.out.println(cbrDate);
        System.out.println(cbrValue);[/quote]

Вот здесь печатают

А вот здесь кладут в свою базу
Цитата(vurdalak19 @  23.8.2013,  21:50 Найти цитируемый пост)
 
Код

    if(cont2==true) {
        String cbr = toUnicode(full);
        int ndx = cbr.indexOf("USD OA ?O,");
        full = cbr.substring(ndx);
        full = full.substring(0,31);
 
        String cbrDate = full.substring(10);
        cbrDate = cbrDate.substring(0,5);
        String cbrValue = full.substring(16);
        cbrValue = cbrValue.substring(0,7);
 
        System.out.println(cbrDate);
        System.out.println(cbrValue);
 
        Connection con = ConnectManager.getConnectionToRBC();
        try {
            PreparedStatement logSt1 = con.prepareStatement("UPDATE rbc SET cbrValue = ? WHERE Name = 'USD'");
            logSt1.setString(1, cbrValue);
            int res = logSt1.executeUpdate();
            logSt1.close();
            PreparedStatement logSt2 = con.prepareStatement("UPDATE rbc SET cbrDate = ? WHERE Name = 'USD'");
            logSt2.setString(1, cbrDate);
            res = logSt2.executeUpdate();
            logSt2.close();
            ConnectManager.closeConnection(con);
        } catch (SQLException ex) {
            System.out.println("Error SQL ...");
        }
    }





--------------------
Mirkes
PM MAIL   Вверх
Bananana
Дата 23.9.2013, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте! Помогите пожалуйста решить: Дано натуральное число n >=1. Напишите рекурсивную функцию, определяющую число a, такое, что 2^(а-1) <= n < 2^n.
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.0433 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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