Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
ВнизКак сохранить рез-ты query в таблицу для дальнейшего импорта? Найти похожие ветки
← →
Nike85 (2007-11-03 09:52) [0]Здравствуйте!
пишу приложение, в к-и необходимо реализовать следующий функционал - скопировать группу записей из таблицы, изменив в них значения нескольких полей. Таблицы имеют сложноватую структуру - от 60 и более полей. Как это можно сделать? Выборку делаю без проблем, значения, к-е необходимо поставить, я тоже рассчитал. Вопрос в том, как из компонента TQuery, хранящем результаты запроса типа "select * from таблица1", перенести данные (вместе с структурой полей) во временную таблицу. Структуру временной таблицы (структуру полей) необходимо создавать динамически, т.к. таблиц в ходе выполнения может оказаться несколько. Вот в принципе в чем и вопрос. Подскажите, поделитесь опытом, пожалуйста!
А, уже используя данные из временной таблицы, я планирую добавлять записи в реальную таблицу опять с помощью TQuery "insert into таблица1 Values(...)"
← →
Reindeer Moss Eater © (2007-11-03 10:07) [1]TClientDataSet + TDataProvider + TClientDataSet.SaveToFile
← →
Nike85 (2007-11-03 10:14) [2]а разве я не могу каким-либо образом создать TTable со структурой полей, как в данных TQuery?
← →
Reindeer Moss Eater © (2007-11-03 10:16) [3]Так у тебя что, импорт/экспорт в пределах одной и той же БД?
Зачем тогда вообще такой изврат?
← →
Reindeer Moss Eater © (2007-11-03 10:18) [4]Table1.BatchMove(Query1,batCopy);
И все.
← →
Nike85 (2007-11-03 10:26) [5]Изврат - от незнания
Да, экспорт/импорт в пределах одной БД - даже более того, я беру записи из таблицы1, меняю в них 10-12 полей (50 полей остаются такими же как и в оригинале) и вставляю в ту же таблицу1. batchMove скорее всего не подойдет, так как здесь сейчас начнется специфика первазивовских компонентов.
← →
Reindeer Moss Eater © (2007-11-03 10:29) [6]Какой такой первазив, если ты сказал, что у тебя TTable и TQuery?
← →
Nike85 (2007-11-03 10:36) [7]Subject: Как сохранить рез-ты query в таблицу для дальнейшего импорта? [D7, Pervasive]
TpvQuery и TkbmMemTable. Однако, в силу того, что большинству, я думаю эти компоненты малознакомы, использую названия TQuery и TTable.
Неужели нет универсального метода, позволяющего воссоздать структуру полей для таблицы (временной) исходя из имеющегося динамического запроса? Именно динамического - если в дизайнере запустить Fields Editor, то там будет пустой список.
← →
Reindeer Moss Eater © (2007-11-03 10:44) [8]Как сохранить рез-ты query в таблицу для дальнейшего импорта?
Ты пять минут назад сказал, что импорт у тебя это и есть сохранение записей в таблицу. Какой еще "дальнейший импорт"?
А как сохранить весь датасет одним вызовом в файл я тебе уже сказал.
← →
Nike85 (2007-11-03 10:46) [9]Reindeer Moss Eater © (03.11.07 10:44) [8]
Импорт - это перенос данных из временной таблицы в реальную БД, в ту же таблицу откуда они были взяты запросом.
Кажется, мы говорим о разных вещах
← →
Reindeer Moss Eater © (2007-11-03 10:49) [10]А что такое "дальнейший импорт" ?
← →
Reindeer Moss Eater © (2007-11-03 10:51) [11]Импорт - это перенос данных из временной таблицы в реальную БД, в ту же таблицу откуда они были взяты запросом.
У нормальных людей это называется обновлением данных в таблице.
И временные таблицы здесь не нужны.
← →
Nike85 (2007-11-03 10:55) [12]Нет, это не обновление. Скопировав записи, я изменю им в том числе и ключевое поле (первичный ключ - nrec) - и при импорте в реальную таблицу это будут новые записи, старые останутся и будут использоваться наряду с новыми (если я их конечно импортирую :)))
← →
Nike85 (2007-11-03 10:56) [13]Дальнейший импорт - это процесс записи новых, модифицированных записей в реальную БД
← →
sniknik © (2007-11-03 10:59) [14]> в силу того, что большинству, я думаю эти компоненты малознакомы, использую названия м.
в силу того, TTable для клиент-сервера используют только идиоты, большинство с тобой общатся изза этого попросту не хотят...
> позволяющего воссоздать структуру полей для таблицы
зачем тебе структура без данных? а если с данными то приведенное [1] вместе с данными перекинет тебе и структуру...
хотя смысла в этом возможно и нет, т.к. функциональность TpvQuery и TkbmMemTable (титановские компоненты?) наверняка отличается от TQuery и TTable, и возможно там тоже есть SaveToFile ради которого все и затевалось (запись в файл).
если нужна структура без данных, подставь в условие запроса невозможное значение и все.
← →
sniknik © (2007-11-03 11:03) [15]> И временные таблицы здесь не нужны.
точно. тем более таблицы на клиенте, в памяти или сохраненные. все делается на сервере запросом или несколькими.
← →
Nike85 (2007-11-03 11:03) [16]да уж, что-то у меня с русским стало плоховато, раз, вы, господа, мою проблему не так понимаете
← →
Reindeer Moss Eater © (2007-11-03 11:04) [17]Мы её вообще не видим, а не не так понимаем.
← →
Плохиш © (2007-11-03 17:48) [18]
> Nike85 (03.11.07 11:03) [16]
Ты бы уж почитал бы чего уже...
← →
Sergey13 © (2007-11-06 09:52) [19]> [12] Nike85 (03.11.07 10:55)
insert into table(перечень полей) select (перечень полей, в том числе и с изменениями) from table
Так что, нельзя?
В крайнем случае в цикле по исходному датасету вставляй новые записи в свою физическую таблицу. Это абсолютно универсальный механизм, хоть и не самый производительный.
А ты в какие то дебри полез непонятные.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.045 c