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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2009, 11:34   #1
cherry25
Форумчанин
 
Регистрация: 16.02.2009
Сообщений: 110
По умолчанию и снова работа с dbf

Есть такая проблема: из базы выбираются данные и непосредственно перебрасываются в dbf файл с помощью ado-компонент через odbc. в dbf существует поле со структурой N(12,5). в делфях соответствующее значение с пом функции RoundTo округляю до 5-ти знаков после запятой (проверено пошагово - на этом этапе все ок). А вот в dbf заносится значение, ОКРУГЛЕННОЕ до 4-х знаков после запятой и дописывается в конце 0. Нужно обойти этот момент, а не получается. Есть подозрение, что проблема в odbc (а мож и нет). Кто сталкивался? Что можно сделать

P.S. испробовано: округление в делфях до 6-ти знаков - не помогло, занесение произвольного числа с 5 знаками после запятой - тож самое. Редактировать 5 цифру непосредственно в dbf позволяет!

Спасибо за помощь!
cherry25 вне форума Ответить с цитированием
Старый 26.02.2009, 12:51   #2
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

попробуйте поработать через компонент TDBF. Нашёл в DelphiWorld6. Он не требует никаких одбс и бде. Пока никаких проблем с ним не было.
Тяжело быть бестолковым.....

Последний раз редактировалось Dark_Spirit; 26.02.2009 в 13:09.
Dark_Spirit вне форума Ответить с цитированием
Старый 26.02.2009, 13:06   #3
cherry25
Форумчанин
 
Регистрация: 16.02.2009
Сообщений: 110
По умолчанию

Цитата:
Сообщение от Dark_Spirit Посмотреть сообщение
я попробуйте поработать через компонент TDBF. Нашёл в DelphiWorld6. Он не требует никаких одбс и бде. Пока никаких проблем с ним не было.
Изначально так и делала, таких проблем, дейтсвительно, не возникло, но была ошибка при Table.Open "Cannot load language driver". обойти ее я не смогла. ошибка эта возникала, когда dbf я сохраняла как FoxPro2 win1251. у меня только при foxpro2 выводятся нормально русские буквы (при dbase III и IV вместо русских букв были ###). кодировка win1251 - обязательное условие. замкнутый круг какой-то
cherry25 вне форума Ответить с цитированием
Старый 26.02.2009, 13:09   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
кодировка win1251 - обязательное условие. замкнутый круг какой-то
Во-первых это настраивается в Алиасе DBF если с BDE работаеш.
во-вторых:поле со структурой N(12,5) попробуй поменяй на N(12,6) - мне помогало.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.02.2009, 13:28   #5
cherry25
Форумчанин
 
Регистрация: 16.02.2009
Сообщений: 110
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Во-первых это настраивается в Алиасе DBF если с BDE работаеш.
во-вторых:поле со структурой N(12,5) попробуй поменяй на N(12,6) - мне помогало.
Проблема1: структура четко оговорена
Проблема2: N(12,6) даст тож самое - будет округлять до 5-ти знаков и дописывать 6-й 0

Можно поподробнее про настройки алиаса? Это в BDE-dbase меняется в languageDriver?

14:15

Да, и еще хотела уточнить, там по-моему для FoxPro нет поддержки русского языка, а DBase 866 Rus - не подходит кодировка

Кнопку "Правка" видите? Вот и используйте ее для редактирования и дополнения, а не плодите посты!

Последний раз редактировалось mihali4; 26.02.2009 в 14:40. Причина: Объединение постов
cherry25 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
И снова работа с файлами Raivolo Помощь студентам 2 06.02.2009 14:31
работа с DBF файлами alex23 БД в Delphi 2 09.11.2008 01:31
Работа с DBF в Делфи Yuran БД в Delphi 20 26.07.2008 14:50