|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.09.2012, 16:18 | #1 |
Регистрация: 04.09.2012
Сообщений: 9
|
Delphi 7+FoxPro 6 проблема с типом данных date
Здравствуйте, возникла одна проблемка. Есть бд на Foxpro, обработка данных идёт через приложение на делфи. В Foxpro есть тип данных date, до внесения данных в поле данного типа там отображается пустая строка, т.е видно, что данные отсутствуют. При подключении бд на foxpro к делфи, все пустые значение полей с типом date заменяются на дату 30.12.1899. Так вот вопрос, как исправить данную ситуацию, потому как в отчётах потом тоже выводится эта дата вместо пустой строки? Может можно это значение стандартное в делфи как-то изменить либо в foxpro подкрутить чего?
|
04.09.2012, 16:25 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Сделать в DataSet вычисляемое поле и, если дата (AsDateTime) этого поля = 0 , то ничего не присваивать в него, иначе присвоить дату из исходного поля
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
04.09.2012, 16:32 | #3 |
Регистрация: 04.09.2012
Сообщений: 9
|
таблиц штух 18, полей с датой тьма, это для каждого поля что ли делать так?
|
04.09.2012, 16:38 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Это зависит от средств, с помощью которых обращение из Delphi к dbf. Поэксперементировать, возможно есть провайдер для ADO, или другое ПО, которое правильно интерпретирует не заполненную дату, т.е. передает NULL. Таким вопросом не задавался, поэтому не скажу. Если такового не найдется, то для отображения в гриде проще не придумаешь. Разве что программно прорисовывать значение этого поля, насколько это проще - вам решать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
04.09.2012, 16:40 | #5 |
Регистрация: 04.09.2012
Сообщений: 9
|
Провайдера не удалось нормального найти под foxpro, увы. Попробую ещё поискать, но за ответ спасибо
|
04.09.2012, 16:43 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Что значит не удалось? Так, на вскидку - vfpoledb.1, JET OLE DB, MSDASQL - пробуйте
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
04.09.2012, 16:45 | #7 |
Регистрация: 04.09.2012
Сообщений: 9
|
Вот я первого использую, а второй кажись для foxpro не подходит, раньше пробовал кажись. Перепроверю сейчас
|
04.09.2012, 16:48 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Все подходят, только строку соединения правильно задать. И есть зависимость от кодовой страницы dbf, или отсутствия указания на нее в файле
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
06.09.2012, 11:39 | #9 |
Регистрация: 04.09.2012
Сообщений: 9
|
Спасибо за внимание к вопросу, проблему решил) Может кому понадобится, опишу:
1) ставим в Foxpro на поле тип значения по умолчанию .Null., для того чтоб дальнейшие записи нормальными сразу создавались; 2) затем запросами на sql при помощи update изменяем пустые значения полей в таблицах foxpro на .Null. Запрос вида Update tablename set fieldname=Null where fieldname={} Два первых шага позволят делфи отображать пустую строку вместо даты по умолчанию; 3) и наконец используем опять же в FoxPro команду SET NULLDISPLAY TO [] для того чтобы с его стороны вместо .Null. отображались пустые строки. Готово) |
06.09.2012, 11:46 | #10 |
Регистрация: 04.09.2012
Сообщений: 9
|
Тема закрыта
P.S. новичок на форуме, не знаю, может её как-то закрывать нужно) Если да-поскажите как это сделать |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с множественным типом данных | Rebelition | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 22.04.2012 10:51 |
Проблема с типом данных!!!!! | Екатерина_21 | C++ Builder | 1 | 02.02.2012 02:19 |
Проблема с типом данных | Nicko_mt | Помощь студентам | 6 | 17.09.2011 00:42 |
Проблема с типом данных | BMWSauber | Общие вопросы .NET | 1 | 12.10.2010 13:42 |
Вопрос, по вычислению стажа работы с типом Date | Sfera | БД в Delphi | 4 | 04.10.2010 15:57 |