Entwickler-Ecke

Datenbanken - MY-SQL: Boolean?


rolandt4088 - So 09.09.07 00:17
Titel: MY-SQL: Boolean?
Hallo

Ich möchte gerne den Typ Bool in meiner MY-SQL-Tabelle benutzen.

Es funktioniert aber nicht.

Gibt es eine andere Lösung als den Typ Integer mit 1 und 0 zu benutzen?

Gruß
Roland


UGrohne - So 09.09.07 15:34
Titel: Re: MY-SQL: Boolean?
user profile iconrolandt4088 hat folgendes geschrieben:

Es funktioniert aber nicht.

Gibt es eine andere Lösung als den Typ Integer mit 1 und 0 zu benutzen?

Ja, Bool verwenden. Warum funktioniert es denn nicht?


Arne K. - So 09.09.07 15:43

In MySQL ist BOOL ein Alias für TINYINT(1).


rolandt4088 - So 09.09.07 17:44

Den Typ Bool setzen ist nicht das problem.

Das Problem ist, dass auf dieses Feld vom Typ Bool nicht zugeriffen werden kann.
Mit Access-, Paradox- Tabellen mit einem Feld vom Typ Boolean ist das kein Problem.

Gruß Roland


Arne K. - So 09.09.07 18:17

Was heißt, es "kann nicht zugegriffen werden"? Präzisiere das.


rolandt4088 - So 09.09.07 21:40

Ich arbeite mit Query.
Tabelle: Termin
Feld: alarmenabled vom Typ "Bool"


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
Beispiel:
Query1.close;
Query1.sql.clear;
Query1.sql.add('select * from termin where alarmenabled = :alarmenabled');
Query1.parambyname('alarmenabled').asboolean := true;
Query1.open;


Der Datentyp Bool wird nicht erkannt. Somit kommt es unweigerlich zur entsprechenden Meldung die genau dies beschreibt.

Gruß

Roland


ene - Mo 10.09.07 07:52

Moin,

bin mir grad nicht ganz sicher, aber vielleicht liegts am Bool. In Delphi ist das -1 und auf MySQL nur 1 und 0.


UGrohne - Mo 10.09.07 09:05

Dann müsstest Du hier eben AsInteger verwenden und mit 1 oder 0 belegen, da (wie bereits gesagt) MySQLs Bool-Feld ein TinyInt ist.


rolandt4088 - Mo 10.09.07 09:40

Moin,

vielen Dank für eure Hilfe.

Wenn das nur über die Umwandlung auf 0 und 1 geht, hätten die findigen Entwickler ja auf diesen Datentyp verzichtemn können.

Denn für mich heist es mehrarbeit und mehr "unnötiger" Quelltext.

Wie sieht das denn in MS-SQL aus? Gibt es da das gleiche Problem?

Gruß und einen schönen Montag

Roland


ene - Mo 10.09.07 10:13

MS SQL hat -1 und 0.