![]() |
|
|
![]()
|
|
| AyanTai |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
Доброго времени суток всем!
просмотрев темы в поисковике, не нашел для себя ответа. с БД начал работать недавно- опыта нет(за неадыкватное высказывание прошу прощения). Задача в следующем: есть папка с файлами *.dbf (в которых есть поля: Фамилия |имя|Отчество|ID, ID пустой), так же есть таблица в БД Оракл с теми же полями (Фамилия |имя|Отчество|ID, НО ID не пустой). нужно прочитать данные из *.dbf, сравнить с таблицей Оракла и совпадающим по ФИО полям присвоить ID. и все выложить обратно в *.DBF файл. использую BDE(для открытия DBF) и ADO(соединение с ораклом). создал таблицу(пусть будет ОРА) в Оракле(однотипную что и DBF файл). затем в Table1 вывожу данные из выбранного файла и отражаю все в гриде...теперь хочу передать данные в пустую созданную таблицу(ОРА) Трабла в том что не знаю ( ниразу этого не далал) как передать даные из DBGrida в таблицу Оракловую за ранее всем спасибо кто поможет!!! Добавлено через 4 минуты и 58 секунд кстати вывожу данные в грид вот так: procedure TForm1.btDirIn_ordClick(Sender: TObject); // кнопка Открыть begin Form1.OpenDialog1.Execute; Form1.Edit1.Text:=OpenDialog1.FileName; Label2.Caption:=OpenDialog1.FileName; Form1.Table1.TableName:=OpenDialog1.FileName; Form1.Table1.Active:=true; end; |
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 23 Всего: 54 |
что же тебя тогда сразу на оракл понисло по теме, можно примерно вот так сделать
-------------------- Кольцов Виктор Владимирович |
|||
|
||||
| AyanTai |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
Frees - спасибо большое за быстроту ответа сейчас попробую!!!
|
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 23 Всего: 54 |
занести данные в таблицу оракла из dbf можно вот так
-------------------- Кольцов Виктор Владимирович |
|||
|
||||
| AyanTai |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
ADOQuery1.SQL := 'Select * from table1 where FIO = :FIO'
From Table1 - ADO не поймет! я же Table1 получаю через BDE! |
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 23 Всего: 54 |
Table1 это имя твоей тоблицы в оракле с фамилиями и ИД Добавлено через 43 секунды у те бя это как я понимаю Select * from ORA where FIO = :FIO -------------------- Кольцов Виктор Владимирович |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Когда-то писал прогу для экспорта из DBF в Oracle (через ADO и DOA соответственно). Вот, прилагаю, может, пригодится.
Присоединённый файл ( Кол-во скачиваний: 23 )
dbf2ora.rar 15,96 Kb-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| AyanTai |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
Респект и уважуха вам ребята!!!
|
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
||||
|
||||
| AyanTai |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
const1 = ' INSERT INTO OPA (vorna) Values ( ' :vorna ' ) ';
.... procedure DbfToOrc(); //Выполнить var i: integer; begin Form1.ADOQuery1.SQL.Clear; Form1.ADOQuery1.open; Form1.Table1.First; For i:=0 to Form1.Table1.Fields.Count do begin Form1.ADOQuery1.FieldByName('VORNA').Value:=Form1.Table1.fieldbyname('VORNA').Value; Form1.ADOQuery1.SQL.Add(const1); Form1.ADOQuery1.ExecSQL; Form1.ADOQuery1.Active:=true; Form1.Table1.Next; end; end; :vorna - при такой конструкции разве так будут передаваться данные? у меня Делфи ругается....(( |
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
Это переменная так обозначается... Но перед тем, ка выполнять запрос переменную нужно объявить и значение ей присвоить... может поэтому ругается? А что за ошибка? Это сообщение отредактировал(а) Kbl4AH - 22.12.2008, 11:56 |
|||
|
||||
| Данкинг |
|
||||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Ты сам понял, что написал? Да и вообще - весь цикл удали и напиши заново, там полная <она> написана. -------------------- There's nothing left but silent epitaphs. |
||||
|
|||||
| AyanTai |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
вот так начинает записывать в таблицу оракла(взял только столбец - ИМЯ), но заполняет только последнее имя, как сделать чтоб все имена заполнял?
const1 = 'INSERT INTO nnr_id (vorna) Values ( '; const3 = ' ); '; procedure DbfToOrc(); // Выполнить
begin Form1.Table1.First; While not Form1.Table1.Eof do begin Form1.ADOQuery1.Open; Form1.ADOQuery1.Edit; Form1.ADOQuery1.FieldByName('Имя').AsString:=Form1.Table1.FieldByName('Имя').AsString; Form1.ADOQuery1.SQL.Add(const1+ Form1.ADOQuery1.FieldByName('Имя').AsString + const3); Form1.Table1.Next; end; |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
AyanTai, посмотри мой пример.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| AyanTai |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
и еще выдает ошибку "ORA-00933: SQL command not property ended" (( ставлю после Form1.Table1.Next; ->
Form1.ADOQuery1.close; - не помогает(( |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |