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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2012, 12:37   #1
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
Вопрос Boolean field from Firebird -> Dataset -> CheckBox

Здравствуйте!
У Firebird нет Boolean полей, приходиться извращаться через [smallint value is null or value in (0, 1)], но в Delphi Boolean поле есть и используется многими компонентами, в том числе CheckBox.
Если в FB создать ХП, которая отдаёт данные в программу в Dataset, то Dataset как-то понимает какое из полей Boolean и далее в программе все работает как надо! Но, если набор данных создаёт не ХП, а select запрос из этого же Dataset - Dataset почему-то нужные поля не распознаёт уже как Boolean, а распознает как они есть в БД - smallint. Из-за этого приходится: а) либо создавать все поля которые получает из БД Dataset, затем удалять нужное поле тк оно в неверном формате и создавать заново в формате Boolean - тогда дальше всё пашет нормально; б) либо в ряде компонент ChackBox прописывать что Cheched(True) это Value=1, а UnChecked(False) это Value=0. Но всё это лишнее если данные приходят из ХП БД. В чём же разница и можно ли как-то при получении данных через select в Dataset добиться чтобы он автоматически понимал какое из полей Boolean и не приходилось каждый раз вручную править список полей???
delphicoding вне форума Ответить с цитированием
Старый 22.03.2012, 16:01   #2
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

А какая тапка True или 1? False или 0?
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 22.03.2012, 21:57   #3
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Цитата:
ChackBox прописывать что Cheched(True) это Value=1, а UnChecked(False) это Value=0
Зачем? А так нельзя записать?
Код:
var ch: Integer;
begin
ch:= Integer(CheckBox1.Checked);
ShowMessage(IntToStr(ch));
end;
А можно и так...
Код:
CheckBox1.Checked:= Boolean(1);

Последний раз редактировалось _SERGEYX_; 22.03.2012 в 22:02.
_SERGEYX_ вне форума Ответить с цитированием
Старый 23.03.2012, 11:15   #4
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

Написать можно очень много как. Вопрос не в том.
delphicoding вне форума Ответить с цитированием
Старый 23.03.2012, 14:08   #5
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

А в чем вопрос-то? В том что вам надо из коробки? И чтоб ручками ничего не делать...
Так извините так не бывает...
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 23.03.2012, 14:08   #6
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

А в чем вопрос-то? В том что вам надо из коробки? И чтоб ручками ничего не делать...
Так извините так не бывает...
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поля Boolean и Checkbox SovereignSun БД в Delphi 0 23.11.2011 11:49
Строку из одного DataSet в другой DataSet Abbath1349 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 0 22.05.2011 19:26
DBRadiogroup + Boolean Field kenteg БД в Delphi 1 28.11.2010 13:08
field required but not supplied - firebird Greek9000 БД в Delphi 3 20.10.2010 14:32
Из DataSet работающего по циклу в DataSet maroder22 БД в Delphi 1 05.09.2010 23:22