Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2007, 12:40   #1
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию Еще один вопрос с SQL-ом

У меня воник еще один вопрос!
Подскажите, пожалуйста, почему не получается перетащить данные из оной таблицы в другую из-за раных форматов таблиц.

Вот пример:
use "с:/BazaDannih/firm1.dbf";
use "с:/BazaDannih/firm2.mbf";
insert into firm2 (name2, adress2) select name1, adress1 from firm1;
фЁдОр вне форума Ответить с цитированием
Старый 17.10.2007, 14:06   #2
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

приведи их к одному формату ..
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 17.10.2007, 14:15   #3
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Мне нужно это проделать не изменяя форматов, но к моему сожалению, я очень трудно представляю как! Думаю, что такие вещи делаются через массив, но КАК?
фЁдОр вне форума Ответить с цитированием
Старый 17.10.2007, 14:35   #4
Nemon
Армия Рассейская
Форумчанин
 
Аватар для Nemon
 
Регистрация: 06.12.2006
Сообщений: 175
По умолчанию

А если сделать через ttable или ADOtable

....EOF

firm2.insert;
firm2adress2.value:= firm1adress1.value;
firm2name2.value:= firm2name1.value;
firm1.next;

это как вариант.
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН

Последний раз редактировалось Nemon; 17.10.2007 в 14:40.
Nemon вне форума Ответить с цитированием
Старый 17.10.2007, 15:44   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от фЁдОр Посмотреть сообщение
У меня воник еще один вопрос!
Подскажите, пожалуйста, почему не получается перетащить данные из оной таблицы в другую из-за раных форматов таблиц.

Вот пример:
use "с:/BazaDannih/firm1.dbf";
use "с:/BazaDannih/firm2.mbf";
insert into firm2 (name2, adress2) select name1, adress1 from firm1;
Вы что, всерьез полагаете, что тут все поголовно телепаты?
Опишите эту разницу в форматах подробно, чего вы боитесь-то?
Вам сразу помогут. А так, не имея исходной информации, мы будем долго гадать...
mihali4 вне форума Ответить с цитированием
Старый 17.10.2007, 15:50   #6
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Пожалуйста, если можно, расскажите поподробнее.
Нужно подключиться к одной из таблиц, к примеру, firm1.dbf при помщи компонентов: ADOConnection1, ADOTable1, DataSource1 и DBGrid1. А дальше не соображу, что значит
....EOF?
фЁдОр вне форума Ответить с цитированием
Старый 17.10.2007, 16:22   #7
Nemon
Армия Рассейская
Форумчанин
 
Аватар для Nemon
 
Регистрация: 06.12.2006
Сообщений: 175
По умолчанию

EOF - end of file

Создай две ADOTable одну к одной таблице, другую к другой. Дальше выполняешь такую процедуру
Код:
begin
firm1.first;
  while not firm1.Eof do begin
  firm2.insert;
  firm2adress2.value:= firm1adress1.value;
  firm2name2.value:= firm1name1.value;
  firm1.next;
  end;
end;
да и еще если разные типы полей то лучше испрользовать не .value, а .asstring

EOF это если тебе надо перенести все данные. А если надо одну запис, то
Код:
  firm2.insert;
  firm2adress2.value:= firm1adress1.value;
  firm2name2.value:= firm1name1.value;
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН

Последний раз редактировалось Nemon; 17.10.2007 в 16:27.
Nemon вне форума Ответить с цитированием
Старый 18.10.2007, 10:31   #8
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Я создал две ADOTable, подключился к двум таблцам, но не понятно, что за процеура должна быть?
Может быть по нажатию кнопки?:
Код:
 
procedure TForm1.Button1Click(Sender: TObject);
begin
firm1.first;
while not firm1.Eof do begin
firm2.insert;
firm2adress2.value:= firm1adress1.value;
firm2name2.value:= firm1name1.value;
firm1.next;
end;
end;

Последний раз редактировалось Alex21; 22.10.2007 в 09:39.
фЁдОр вне форума Ответить с цитированием
Старый 18.10.2007, 10:47   #9
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию Цитата:

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Вы что, всерьез полагаете, что тут все поголовно телепаты?
Опишите эту разницу в форматах подробно, чего вы боитесь-то?
Вам сразу помогут. А так, не имея исходной информации, мы будем долго гадать...
Я извеняюсь, что если что-то непонятно, мне казалось, что я ясно вопросы ставил.
Сейчас попробую заново поставить вопрос:
Таблица firm1.dbf создана в програме Visual FoxPro, а таблица firm2.mdb создана в MS Access. Проблема заключается в том, что я не могу скопировать данные из талицы firm1.dbf в таблицу firm2.mdb
фЁдОр вне форума Ответить с цитированием
Старый 18.10.2007, 11:03   #10
Nemon
Армия Рассейская
Форумчанин
 
Аватар для Nemon
 
Регистрация: 06.12.2006
Сообщений: 175
По умолчанию

Можешь привязать на нажатие кнопки, хоть на еще чего. Это не принципиально


Или вообще давай сюда две свои таблицы и я тебе пример готовый напишу
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН
Nemon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Еще один курсор в системе Dj_smart Общие вопросы Delphi 0 05.06.2008 19:59
Событие один раз Михаил Юрьевич Общие вопросы Delphi 4 01.04.2008 20:40
Два запроса - один ExecSQL EdNovice БД в Delphi 1 27.06.2007 17:33
один вопрос по Memo Andr Общие вопросы Delphi 2 11.05.2007 17:58