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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2010, 05:01   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Перевод из MDB в XML

Доброе утро! Решил сделать возможность перевода из файла MDB в XML. Но, не знаю как подступиться к решению. Есть два скрина. На одном - поля таблицы, на втором - желаемая конечная структура XML файла. Вопрос: как можно организовать создание такого дерева?
Изображения
Тип файла: png дерево.png (27.8 Кб, 78 просмотров)
Тип файла: jpg записи.jpg (7.6 Кб, 130 просмотров)
Тип файла: png поля.png (9.2 Кб, 74 просмотров)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось artemavd; 13.10.2010 в 05:07.
artemavd вне форума Ответить с цитированием
Старый 13.10.2010, 05:29   #2
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Код:
ADOQuery1.SQL.Text:='select * from export';
ADOQuery1.SaveToFile('имя файла xml', pfXML);
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 13.10.2010, 05:31   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Запрос в данный момент нет времени проверить. Что будет результатом его работы и как он буде выглядеть?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 13.10.2010, 05:43   #4
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Запрос в данный момент нет времени проверить. Что будет результатом его работы и как он буде выглядеть?
Результатом запроса будут все записи таблицы export.
Этот результат будет храниться в оперативной памяти в переменной ADOQuery1.
После выполнения команды ADOQuery1.SaveToFile('File.xml', pfXML) содержимое переменной ADOQuery1 сохранится на жесткий диск в XML файл File.xml.
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 13.10.2010, 05:47   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
pfXML
- что это значит? Первый раз такой вижу в SaveToFile. Дерево в XML автоматически будет создано?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 13.10.2010, 05:54   #6
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Дерево в XML автоматически будет создано?
да, дерево в XML автоматически будет создано.
ну или можно в текстовик все самому написать http://forum.sources.ru/index.php?showtopic=24209
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 13.10.2010, 09:12   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Не, надо именно в XML. Красиво получилось )). Скажи, а как можно самому задавать имена полям? И можно ли задать что отобраджать, а что нет? Чтобы у меня дерево получалось как на моем скрине). Было бы вообще шоколадно)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 13.10.2010, 09:52   #8
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Не, надо именно в XML. Красиво получилось )). Скажи, а как можно самому задавать имена полям? И можно ли задать что отобраджать, а что нет? Чтобы у меня дерево получалось как на моем скрине). Было бы вообще шоколадно)
Задавать имена полям можно через команду Alter:
1) создать столбец с нужным наименованием;
2) скопировать (update) все данные из старого столбца в новый;
3) удалить (drop) старый столбец.

На счет задать, что отображать, а что нет - это все зависит от того в каком контроле (TControls) ты информацию выводишь
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 13.10.2010, 10:04   #9
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Вывожу информацию в DBGridEh.
Цитата:
Задавать имена полям можно через команду Alter:
1) создать столбец с нужным наименованием;
2) скопировать (update) все данные из старого столбца в новый;
3) удалить (drop) старый столбец.
где это все прописывать-то?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 13.10.2010, 10:11   #10
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Вывожу информацию в DBGridEh.

где это все прописывать-то?
Код:
ADOQuery1.SQL.Text:= 'Alter table название_таблицы column add имя_столбца тип_столбца прочие_параметры';
ADOQuery1.ExecSQL;
ADOQuery1.SQL.Text:='update имя_таблицы set имя_нового_столбца=имя_старого_столбца';
ADOQuery1.ExecSQL;
ADOQuery1.SQL.Text:='Alter table название_таблицы drop column имя_старого_столбца';
ADOQuery1.ExecSQL;
ADOQuery1.SQL.Text:='Commit';
ADOQuery1.ExecSQL;
Точно не помню, можешь поискать справку по команде Alter, языка SQL
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.

Последний раз редактировалось Sparkman; 13.10.2010 в 10:15.
Sparkman вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интеграция .mdb в Joomla zenner Microsoft Office Access 5 19.01.2010 12:12
с Датасет в *.mdb info БД в Delphi 3 18.11.2009 12:47
парсер XML, не видит XML тэги supercelt PHP 3 02.11.2009 19:18
MDB в DELHI cowboy БД в Delphi 6 16.06.2009 17:06