Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];




Вниз

Логическое поле в ОРАКЛЕ 


victor   (2001-12-24 10:07) [0]

как быть если нужно логическое поле, а в ОРАКЛЕ его нет



Владислав   (2001-12-24 10:13) [1]

Например так:
CREATE TABLE example(
bool_field NUMBER(1)
);
1 - true, 0 - false.



victor   (2001-12-24 12:36) [2]

да это вариант, но как тогда сделать чтобы в DBGridEh, из библиотеки EHLIB
при установке CheckBoxes:=true, можно было редактировать это поле
сейчас оно у меня неактивно
и при включении галочки значение поля принимало значение 1
а при выключении 0



gek   (2001-12-24 12:42) [3]

Детский сад "Ромашка", блин. Ну проверяй поле на 1 и 0 и в зависимости от этого и пляши. Включай флажок если 1 и выключай если 0, тебе же ответили правильно.



Крутов Алексей   (2001-12-24 12:48) [4]

Выдержка из Help"а по DBGridEh по поводу non boolean полей:

TColumnEh.Checkboxes

EhLib Software
Specifies whether need to show checkboxes instead of text.

property Checkboxes: Boolean;

Description
Checkboxes automativcaly true for boolean field. To show checkboxes for non boolean fields fill first line of KeyList that corresponds to the checked state of the checkbox, second line - non checked state, and set Checkboxes to True. Line of KeyList can represent more than one value in a semicolon-delimited list of items.

DBGridEh1.Columns[1].KeyList.Strings[0] := "True;Yes;On";
DBGridEh1.Columns[1].KeyList.Strings[1] := "False;No;Off";

For boolean field not need to fill keyList.

EhLib Software



victor   (2001-12-24 13:26) [5]

я как раз сам то же самое нашел
из справки, но почему то не получается включить галочку для нового поля
по умолчанию
выставляю в поле DefaultExpression:="1"
но при переходе на новую запись в этом поле checkBox в неактивном положении
приходится его включать самостоятельно, что не очень удобно :(



gek   (2001-12-24 13:39) [6]

Можно и вот так попробовать
CheckBox.checked:=Table1.fieldbyname("log_bool").asinteger = 1;



VVP   (2001-12-24 13:43) [7]

Мы используем тип char(1) с констрейном типа ("T","F"), считаю это лучше чем использовать number(1), поскольку под number(x,y) всегда выделяется 22 байта - размер внутреннего представления типа number в Oracle. Все остальное (DBGrid) надо рисовать самому.



petr_v_a   (2001-12-24 14:12) [8]

>VVP 22 байта- это максимум. См.
select vsize("Ваше числовое поле") from "Ваша таблица"
Но я тоже использую varchar2(1) с констрейном типа ("N","Y")
:)



victor   (2001-12-24 14:18) [9]

ладно с char, и varchar понятно
но вот почему значение по умолчанию не высвечивается
что через default из oracle
что через defaultExpression из дельфей




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.019 c
3-90206           victor                2001-12-24 10:07  2002.01.28  
Логическое поле в ОРАКЛЕ


3-90200           avodous               2001-12-24 00:56  2002.01.28  
TIBQuery + TIBUpdateSQL


7-90404           Лана Розанова         2001-10-16 11:35  2002.01.28  
Какое разрешение?


4-90430           Nicke                 2001-11-27 15:35  2002.01.28  
Приложение как служба Win NT


6-90347           Kyd                   2001-11-05 20:16  2002.01.28  
Телнет на ClientSocket