Страница 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

Добавлено: 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);