Oi Pessoal,
Antes de mais nada, quero dizer que mesmo estando utilizando o forum pela primeira vez tenho usado o mesmo a muito tempo como fonte de consulta e tem me ajudado muito, infelizmente para o problema que estou enfrentando nao encontrei solucao (ate momento =)
Estou criando um banco de dado para plantas e nele tenho varias informacoes booleanas, quando eu digo varias sao muitas mesmo, o plano era linkar cada campo com um checkbox usando o blind e mastertable (a aplicacao foi criada usando o master/detail sample form do NetBeans) o problema como voces sabem eh que o MySQL nao aceita boolean, somente tiny, que mesmo sendo 0 e 1 nao eh reconhecido no java como sendo verdadeiro ou falso.
Minha questao eh, como mudar o true e false do java para 0 e 1 quando eu for gravar e como mudar o 0 e 1 de quando eu ler para true e false quando eu for montar a tela???
Desde ja agradeco a participacao de todos.
Abracos,
Icaro
ps=connection.prepareStatement("INSERT INTO TABELATESTE (CAMPOBOOLEAN) VALUES (?)");ps.setBoolean(1,true);
Neste caso irá inserir 1;
Caso passe false irá inserir 0 no campo ‘CAMPOBOOLEAN’.
Espero ter ajudado.
Abraço!
I
icaronz
Ola renanedpedroso,
Valeu pela resposta, uma duvida, eu estou usando o MySql 5.1 tambem, mas quando olho pelo NetBeans os campos booleans sao mostrados como bin e quando olho pelo SQLyog sao mostrados como tiny, como eu sabia que ate a versao 4 do MySql nao aceitava boolean eu achei que ainda nao estava aceitando.
Entao a pergunta muda, eh possivel passar boolean direto para o MySql 5 usando o NetBeans?
Amigo não sei com relação ao NetBeans + MySQL pois uso o MySQL Tools para gerenciar meu Banco de Dados, mas e seu código, como está?
I
icaronz
Entao eu estou usando master/detail sample form do NetBeans, para ficar mais rapido eu tenho uma mastertable com todos os campos ai eu utilizo o bind para fazer um link entre o objeto no caso o Checkbox e a master table, dessa maneira todo o resto do codigo e gerado pelo netbeans. O problema eh que fazendo um bind eu nao posso mudar o conteudo do bind, ou seja, eu nao posso fazer uma verifcacao se eh 0 ou 1 e escrever true ou false ou vice versa porque ocorre simultaneamente.
O que eu fiz antes foi criar uma caixa de texto e alterar o veradeiro ou faso nessa caixa para 0 ou 1 e depois fazer o bind da caixa de texto com o mastertable, mas com sao centenas (exagerando um pouco) de checkbox fazer isso agora eh loucura.
E o problema eh que ja estou na metade dessa tela utilizando o master/detail sample form, para fazer tudo outro vez acessando o banco de dados diretamente.
renanedpedroso, vou tentar usar o mysql tools para gerar o meu banco de dados porque pelo SQLyog eu nao estou conseguindo colocar true e false do mesmo jeito, somente 0 e 1.
I
icaronz
renanedpedroso, estou tentando mudar as minhas variaves de tiny para boolean com o comando abaixo:
ALTER TABLE containernurseriesonline.plants MODIFY COLUMN COLORLABEL BOOLEAN DEFAULT NULL;
Ele executa ok, mas nada muda, continua mostrando tiny e so aceitando 0 e 1, voce pode por favor me mandar um exemplo de tabela criada por voce com boolean e me dizer como voce coloca true ou false ao contrario de 0 ou 1?!
Eu vi na documentacao que na versao 4.1 pra cima do mySql aceita mesmo boolean, mas por algum motivo estou tendo problemas com isso.
A pouco tempo passei por esse mesmo problema e era uma coisa simple!
o que eu estava errando era que pro padrão o jTable “Master table” quando identifica que o campo é booleano e já
coloca um JcheckBox na coluna, isso dispensando a colocação de um outro.
espero que ajude, e boa sorte e abraços