Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.02.2011, 05:56
Аватар для Sphinx
Sphinx Sphinx вне форума
Прохожий
 
Регистрация: 27.04.2009
Адрес: Kemcity
Сообщения: 36
Репутация: 12
Смущение ClientDataSet.OnCalcFields

проблема следующая:

Обычная трехзвенка через DCOM :
БД (пока MSAcsess, будет перенос на MSSQLServer),программа-сервер, программа-клиент.
(т.е. AdoQuery<->DataSetProvider<->DCOMConnection<->ClientDataSet)
Есть таблица работников. Есть поля F Фамилия, I имя, O отчество. В вызове метода OnCalcFields на поле FIO (Caclulated!) делаю следующее:
Таблица.FieldByNAme('FIO').asstring:=Таблица.Field ByNAme('F').asstring+' '+Таблица.FieldByNAme('I').asstring+' '+Таблица.FieldByNAme('O').asstring

И тут вместо нормальных Иванов Иван Иванович получается И?||ичич|||| Хотя F, I , O отображаются отдельно нормально!

WTF господа?

Последний раз редактировалось Sphinx, 16.02.2011 в 06:12.
Ответить с цитированием
  #2  
Старый 16.02.2011, 11:20
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,714
Репутация: 52347
По умолчанию

Ну как-бы такого не может быть, но оно есть
Попробую погадать, тип поля для FIO какой задан? Если строка, то длина какая? Дельфи какая версия? Может это юникод такое выкаблучивает?
Попробуйте для эксперимента писать не напрямую в Таблица.FieldByNAme('FIO').asstring, а в переменную, а уже потом в FIO. Неплохо-бы точку останова в вызове этого события сделать и посмотреть, что реально собирается в FIO.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 16.02.2011, 12:12
Аватар для Sphinx
Sphinx Sphinx вне форума
Прохожий
 
Регистрация: 27.04.2009
Адрес: Kemcity
Сообщения: 36
Репутация: 12
По умолчанию ^_^

Спасибо, за пинок в нужном направлении, сенсей ^_^ !

Хотя поля F, I , O широкие стринги (WideString) , оказалось что суммировать их в поле FIO типа WideString было ошибкой (хотя и Delphi по умолчанию сразу выпадал на неё!)
Пересоздал FIO типа String и все программировалось как нужно!
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:52.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2019

ВКонтакте   Facebook   Twitter