Форум: "Базы";
Поиск по всему сайту: 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.02 c
1-90261           Delphimun             2002-01-07 11:55  2002.01.28  
Как найти далее при помощи pos?


14-90373          Den111                2001-11-29 10:37  2002.01.28  
Создание формы в run-time


7-90391           Dmitriy-5             2001-10-10 14:49  2002.01.28  
Как работать с адресом памяти


1-90251           Alex Marmuzevich      2002-01-08 23:12  2002.01.28  
DLL и EXE в одном флаконе.


1-90295           Стас                  2002-01-09 11:28  2002.01.28  
Где достать?