Страница 1 из 1

Использование булева типа в БД

Добавлено: 04 авг 2005, 10:08
Lokki
Hi2All
Когда начал разбираться с Yaffil, с удивлением обнаружил, точнее не обнаружил, булева типа данных. Создал домен:
bool char(1) DEFAULT 'y' NOT NULL CHECK(value='y' OR value='n')
Но это все равно изврат :-\
К тому же возникают проблемы при работе с дотнетом - там приходится ручками перегонять типы.

Подскажите, плиз, как разрулиться правильно?

Добавлено: 04 авг 2005, 10:27
kdv
нафиг этот булевский тип не нужен.

Добавлено: 04 авг 2005, 10:48
Lokki
Да не, я понимаю, что кроме типа char остальное все отстой и фуфло для полных ламеров....
Но... удобное фуфло, однако.

Также как и булев тип, который используется (мной во всяком случае) очень часто.

ЗЫЖ а еще можно обсудить Windows vs. Linux :wink:

Добавлено: 04 авг 2005, 11:09
kdv
я вполне серьезно. булевский тип в базе имеет очень мало смысла. Посмотри на булевский тип в IB 7. Когда его не было, народ кричал "хотим!". Когда он появился, все быстро увяли.
можешь почитать топик для примера:
http://forum.ibase.ru/phpBB2/viewtopic. ... ht=boolean

для дотнета скорее всего надо использовать драйвер FB. Куда и чего конвертировать - не понял, приведи пример. Скорее всего твой вопрос может быть трансформирован в просьбу авторам драйвера. В настоящее время, вроде как, введение типа boolean FB 2 не планируется.

Добавлено: 05 авг 2005, 11:05
Lokki
Разобрался я с ситуацией.
Разрулиться с булевыми значениями можно следующим макаром:
В таблице создать поле типа int, в котором любое ненулевое значение будет означать TRUE, а нулевое FALSE. Также, как FALSE трактуется поле со значением NULL.

В приложении, при инициализации DataTable поле должно быть объявлено с типом bool:

protected DataTable dt = new DataTable("DT");
dt.Columns.Add("my_bool", typeof(bool));

da.Fill(dt);