Como criar campo Booleano no IB6?

Delphi

02/04/2003

Fiz com campos Char(1) mas tá dando um erro danado, qdo eu ligo uns DBCheckbox neles. Diz q o formato não é o mesmo, sei lá, coisa assim.
Como fazer e utilizar gravando num DB? Eu preciso, pois minhas rotinas de senhas de Login, são todas baseadas neste tipo de campo, só tô migrando de Paradox para IB6.


Paulo

Paulo

Curtidas 0

Respostas

Anonymous

Anonymous

02/04/2003

O IB6 não cria campo boolean, mas vc pode usar o comando:
declare o campo do tipo char(1) e use as seguintes funções

Function STRTOBOOL(Texto:String):boolean;
begin
result := false;
if length(texto)>1 then exit;
if uppercase(texto) = ´S´ then
result := true
if uppercase(texto) = ´N´ then
result := false;
end;

Function BOOLTOSTR(Expressao:Boolean):string;
begin
result := ´S´;
case Expressao of
true : result := ´S´;
false: result := ´N´;
end;
end;


GOSTEI 0
Anonymous

Anonymous

02/04/2003

Na prática para qualquer Banco de Dados, mesmo aqueles que aceitam tipo Boolean para Campos de tabela, devemos adotar numeric(1), preenchendo com 0 ou 1.
Isto facilita a relação com DataControl DBCheckBox, e propicia uma migração entre base heterogêneas sem traumas, inclusive para o front-end.

Sds
Laercio
www.digirio.com.br (Delphi e InterBase é AQUI!)


GOSTEI 0
POSTAR