![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение информации из DBGrid [D7, Paradox]
ArchValentin © (2005-08-01 19:24:00)Народ здарова, столкнулся с такой проблемой.
Мне нужно всё что есть в DBGrid сохранить в файл и потом опять загрузить в ту же таблицу.
В каком формате будет хранится таблица мне откровенно пофиг, главное чтобы все данные потом встали на место.
(использую Table, DBGrid и DataSourse)
msguns (2005-08-02 15:42:00) [1]>Amido (02.08.05 14:16) [14]
Сам-то понял, что советуешь ?
ANB (2005-08-02 14:58:00) [2]
> Amido (02.08.05 14:16) [14]
CSV не все кушает
Amido (2005-08-02 14:16:00) [3]Куча ответов, но ни одного решения :)
2ArchValentin ©
Если надо просто "чтоб работало" кинь на форму невидимый StringGrid с поддержкой сохранения в файл (к примеру, SaveToCSV, LoadFromCSV). Потом просто заполняй этот Грид данными выборки и сохраняй. С загрузкой данных обратно в таблицу (базу) правда тормознуто будет - надо будет на каждую запись Инсерт делать.
ANB (2005-08-02 12:29:00) [4]
> (использую Table, DBGrid и DataSourse)
> Но что делать с запросами, объединяющими несколько таблиц,
> если имя таблицы неизвестно, а сама она возникнет только
> в ходе работы программы?
???
> msguns © (02.08.05 12:19) [11]
- можно так, но автор не потянет
Имхо. Скопируй файл таблицы и не мучайся. Только зачем это надо ?
Виталий Панасенко (2005-08-02 12:23:00) [5]Весь ? в том, нафига такие вые..ны..:-)
msguns (2005-08-02 12:19:00) [6]Надо выяснить:
1. Раз в гриде отображаются записи таблицы БД, то сама информация УЖЕ должна сохраняться в этой таблице и никаких промежуточных "сэйвов" делать не надо.
2. Если требуется обеспечить "локальность" данных БД (например, при удаленности БД и нестабильном соединении) для увеличения скорости или временной независимости, то прямой путь к TClientDataSet, обеспечивающий и "подкачку" данных с "сервера", и сохранение-восстановление текущего клиентского состояния таблицы в локальный файл.
ЮЮ (2005-08-02 12:12:00) [7]В принципе можно. Но что делать с запросами, объединяющими несколько таблиц, если имя таблицы неизвестно, а сама она возникнет только в ходе работы программы?
Или у тебя нет никакой БазыДанных, а только ОДНА таблица? Тода может не стоит заморачиваться с этими базами данных, а работать с текстовым файлом, загрузку и сохранение которого ты уже освоил :)
ArchValentin (2005-08-02 11:57:00) [8]
> evvcom © (02.08.05 09:32) [8]
ну это допустим я знаю, а нельзя сохранить в другой файл?
Н/р: как делается в мемо
Сохранение - memo1.lines.savetofile('temp.txt');
Загрузка - memo1.lines.loadfromfile('temp.txt');
Мне нужно то же, только с базами данных
evvcom (2005-08-02 09:32:00) [9]
> Мне нужно всё что есть в DBGrid сохранить в файл
А это уже и так все в файле, в каком-то *.db
msguns (2005-08-02 09:15:00) [10]>tesseract © (01.08.05 22:08) [3]
>Вывод данных из DBGrid как правило называют отчётом :-) А повторение выборки данных в DBgrid фильтрацией.....
Сам придумал или "умные" люди подсказали ?
По сабжу: используй клиентский датасет (TClientDataSet)
ЮЮ (2005-08-02 04:44:00) [11]>Мне нужно всё что есть в DBGrid сохранить в файл и потом опять загрузить в ту же таблицу.
Нафига, если данные и тах уже хранятся в таблице?
Цель предполагаемой операции удаления гланд через ж..пу?
ArchValentin (2005-08-02 01:47:00) [12]
> Глюкоман (02.08.05 00:10) [4]
и как это замутить, я не верю что никак
Глюкоман (2005-08-02 00:10:00) [13]DBgrid всего лишь инструмент для работы с данными, сами данные в Вашем случае находятся в Table
tesseract (2005-08-01 22:08:00) [14]Вывод данных из DBGrid как правило называют отчётом :-) А повторение выборки данных в DBgrid фильтрацией.....
Starcom (2005-08-01 21:31:00) [15]Anatoly Podgoretsky © (01.08.05 19:32) [1]
Шутите дядя Толя! :)
Anatoly Podgoretsky (2005-08-01 19:32:00) [16]Обрадую, в DBGrid ничего нет.