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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2013, 15:06   #1
nety
Пользователь
 
Регистрация: 02.07.2013
Сообщений: 10
По умолчанию Экспорт в dbf 4 в дос кодировке

Eсть база данных mdb соединяется через ADO c Delphi, нужно экспортировать таблицу в *.dbf файл, в ДОС кодировке.

ADOConnection1.Execute('select LSVID.* into LSVID1 in "D:\" "dBASE IV;" from LSVID');

При экспортировании подцепляются 5 нулей. Как сделать чтобы этих нулей не было? Подскажите пожалуйста!!! буду благодарна если скинете код)
nety вне форума Ответить с цитированием
Старый 02.07.2013, 15:27   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

А что за 5 нулей? (лично я не понял...)

Если mdb не очень большая и НЕ СЕКРЕТНАЯ, то запакуйте её и выложите архив (на форум движок пока не разрешить, на любой бесплатный файлообменник выложите, сюда линк на скачивание)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.07.2013, 15:34   #3
nety
Пользователь
 
Регистрация: 02.07.2013
Сообщений: 10
По умолчанию

т.е к числовым полям после экспорта подцепляются пять нулей... а нужно чтобы формат поля оставался N(6,0) а он переводиться автоматически в N(20,5)
nety вне форума Ответить с цитированием
Старый 02.07.2013, 15:52   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

А дбф-файл как создаете перед экспортом? Или он уже готовый лежит, данных ждет?

Вообще согласен с Сергеем: скидывайте мдб - поделимся кодом.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 02.07.2013, 15:59   #5
nety
Пользователь
 
Регистрация: 02.07.2013
Сообщений: 10
По умолчанию

дфб файл готовый лежит) в дос кодировке...в него добавляются данные (ADOQuery) а потом эту дбфку нужно экспортировать не теряя структуры..для работы с ней в древних программах(




http://www.fayloobmennik.net/2984240

Последний раз редактировалось nety; 02.07.2013 в 16:22.
nety вне форума Ответить с цитированием
Старый 03.07.2013, 10:21   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
дфб файл готовый лежит
ну в таком случае и dbf желательно выложить здесь
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 03.07.2013, 16:56   #7
nety
Пользователь
 
Регистрация: 02.07.2013
Сообщений: 10
Сообщение

1.rar вот посмотрите пожалуйста, может я что то и не понимаю

Последний раз редактировалось nety; 03.07.2013 в 17:03.
nety вне форума Ответить с цитированием
Старый 03.07.2013, 19:20   #8
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Пять нулей к числовым полям подцепляются потому что такова структура таблицы. Советую скачать DBFNavigator (софт абсолютно бесплатный) - открыв им файл и зайдя в Файл-Структура таблицы увидите, что числовые поля в этом фале заданы в формате: Ширина=20, Дробная часть=5

Отсюда и Ваши 5 нулей.

Встречный вопрос - как Вы с помощью SQL собираетесь менять кодировку?


UPDATE Прикладываю к посту ссылку ДБФНавигатор

http://soft.sibnet.ru/get/?id=14395
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 03.07.2013 в 19:23.
Sciv вне форума Ответить с цитированием
Старый 04.07.2013, 09:39   #9
nety
Пользователь
 
Регистрация: 02.07.2013
Сообщений: 10
По умолчанию

Спасибо) это я знаю) структура меняется после экспорта.... вот и у меня вопрос, как сделать чтобы после экспорта не было этих нулей??) чтоб формат был у числовых полей N(6,0)
nety вне форума Ответить с цитированием
Старый 04.07.2013, 09:51   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В MSSQL если бы таблица указанная в into существовала, то просто была бы ошибка. Здесь если нет ошибки, то видимо этот dbf удаляется и создается по-новой со структурой соответствующей таблице в from. Попробуйте синтакис INSERT INTO ... SELECT * FROM ... . Тут таблица в into должна существовать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт в DBF Bizunov SQL, базы данных 2 13.06.2013 12:22
экспорт из sql в dbf drak2000 БД в Delphi 2 01.09.2011 20:59
Перезагрузить страницу Получение данных из другой программы kakawkin Общие вопросы Delphi 3 27.06.2011 22:05
Экспорт в Excel и OpenOffice (печать получаемого файла на 1 страницу) @pple Общие вопросы .NET 2 09.11.2009 08:58
Экспорт записи в *.dbf файл Galgi БД в Delphi 2 20.02.2008 07:02