Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Petra
Зарегистрирован: 16.07.2004 Сообщения: 4
|
Добавлено: Пт Июл 16 2004 12:28 Заголовок сообщения: JDBC и dbf таблицы |
|
|
Здравствуйте. Проблема у меня такая: мне необходимо перенести данные из таблиц формата dbf в базу. С помощью JDBC. Я создала:
Statement st1 = con1.createStatement(); //для базы
Statement st2 = con2.createStatement(); //для dbf таблиц
st1.executeUpdate("INSERT INTO BaseTable (Field1) " + st2.executeQuery("SELECT Field1 FROM DbfTable;") ;
В общем он выдаёт ошибку END-of-Statement. Что интересно из dbf в dbf он нормально переносит данные, а в базу не хочет. |
|
Вернуться к началу |
|
|
wildwind
Зарегистрирован: 03.02.2004 Сообщения: 268 Откуда: Москва
|
Добавлено: Пт Июл 16 2004 12:36 Заголовок сообщения: |
|
|
Кто тебя так научил?
Надо открыть ResultSet на select'е, бежать по нему и для каждой записи копировать все поля и выполнять insert, лучше PreparedStatement с параметрами.
Если это непонятно, то только читать учебник и выполнять примеры. |
|
Вернуться к началу |
|
|
Petra
Зарегистрирован: 16.07.2004 Сообщения: 4
|
Добавлено: Пт Июл 16 2004 13:32 Заголовок сообщения: |
|
|
Я только начинаю работать с Java. Я немного не поняла что вы имели в виду. Можно по подробнее. Пожалуйста. |
|
Вернуться к началу |
|
|
Kelvin Гость
|
Добавлено: Пн Июл 19 2004 13:06 Заголовок сообщения: |
|
|
К сожалению, приведенный фрагмент в принципе не должен работать.
Statement возвращает объект Result - набор данных по селекту. Вычерпывая которые и можно заполнять базу. Возможен и более красивый вариант с использованием запросов из базы напрямую к файлу. Но это СУБД специфично. |
|
Вернуться к началу |
|
|
Petra
Зарегистрирован: 16.07.2004 Сообщения: 4
|
Добавлено: Пн Июл 19 2004 13:27 Заголовок сообщения: |
|
|
Kelvin писал(а): | К сожалению, приведенный фрагмент в принципе не должен работать.
Statement возвращает объект Result - набор данных по селекту. Вычерпывая которые и можно заполнять базу. Возможен и более красивый вариант с использованием запросов из базы напрямую к файлу. Но это СУБД специфично. |
Вы немогли бы подсказать как сделать чтоб запрос работал. Все подсказывают но неправильно. Заранее благодарю. |
|
Вернуться к началу |
|
|
wildwind
Зарегистрирован: 03.02.2004 Сообщения: 268 Откуда: Москва
|
Добавлено: Пн Июл 19 2004 15:04 Заголовок сообщения: |
|
|
Уже сказали. Надо читать книги по языку и разбираться. Добиться того, чтобы был понятен смысл каждого символа в коде. Без этого дальше не двинешься.
А бесплатных репетиторов здесь нету. |
|
Вернуться к началу |
|
|
LexxeHoK Гость
|
Добавлено: Чт Июл 22 2004 12:41 Заголовок сообщения: |
|
|
Напишите мне на email lexx-BM@yandex.ru я вам подскажу что делать тут нет ничего сложного. Я человек бескорыстный. |
|
Вернуться к началу |
|
|
Turkish
Зарегистрирован: 25.07.2004 Сообщения: 15 Откуда: из-за горизонта
|
Добавлено: Вс Июл 25 2004 15:06 Заголовок сообщения: |
|
|
ResultSet rs2 = st2.executeQuery("SELECT f1 FROM dbf;");
String sf1;
while(rs2.next())
{
sf1 = rs2.getString(1);
st1.executeUpdate("INSERT INTO BaseTable VALUES(sf1,....)");
}
Примерно вот так. Работать конечно не будет , но общий смысл соблюден _________________ homesite: http://www.320-8080.ru |
|
Вернуться к началу |
|
|
Petra
Зарегистрирован: 16.07.2004 Сообщения: 4
|
Добавлено: Вт Июл 27 2004 10:10 Заголовок сообщения: |
|
|
Большое спасибо Turkish но LexxeHoK мне уже всё объяснил. Всё заработало. Огромное ему спасибо. |
|
Вернуться к началу |
|
|
|