Guardar Chekbox em Banco de dados Firebird
Pessoal tudo bem!
Tenho um sisteminha que em um formulário com vários chekbox em um Groupbox. Então exporta os chekbox selecionados para um relatório no QuickReport.
Queria salvar em um banco de dados os registros selecionados que no caso são em chekbox.
Ex.:
www.jawainformatica.com.br/sistemas/imagens/chekbox.jpg
IR PARA O BANCO DE DADOS APENAS OS QUE FORAM SELECIONADOS
COMO DEVE SER ESTE BANCO DE DADOS?
OBRIGADO AMIGOS
ISTO É PARA MINHA MONOGRAFIA
Tenho um sisteminha que em um formulário com vários chekbox em um Groupbox. Então exporta os chekbox selecionados para um relatório no QuickReport.
Queria salvar em um banco de dados os registros selecionados que no caso são em chekbox.
Ex.:
www.jawainformatica.com.br/sistemas/imagens/chekbox.jpg
IR PARA O BANCO DE DADOS APENAS OS QUE FORAM SELECIONADOS
COMO DEVE SER ESTE BANCO DE DADOS?
OBRIGADO AMIGOS
ISTO É PARA MINHA MONOGRAFIA
Jawa-informática
Curtidas 0
Respostas
Luiz
06/03/2014
Não entendi o sentido do que você quer fazer,
Mas você poderia criar uma tabela com os campos referentes ao checkbox, e lá nos campos do banco de marcos marcar :
Tabela
Campo1
Campo2
Campo3
Campo4
...
E você poder criar esses campos como boolean (True ou false) .. ou mesmo como char(1), ai vc marca S quando tiver selecionado ou N quando não tiver (sim ou nao) ... 0 ou 1 ... a forma como achar melhor tratar ...
Para ter o retorno do checkbox (true or false): CheckBox1.Checked;
Mas você poderia criar uma tabela com os campos referentes ao checkbox, e lá nos campos do banco de marcos marcar :
Tabela
Campo1
Campo2
Campo3
Campo4
...
E você poder criar esses campos como boolean (True ou false) .. ou mesmo como char(1), ai vc marca S quando tiver selecionado ou N quando não tiver (sim ou nao) ... 0 ou 1 ... a forma como achar melhor tratar ...
Para ter o retorno do checkbox (true or false): CheckBox1.Checked;
GOSTEI 0
Claudio Andrade
06/03/2014
Não entendi o sentido do que você quer fazer,
Mas você poderia criar uma tabela com os campos referentes ao checkbox, e lá nos campos do banco de marcos marcar :
Tabela
Campo1
Campo2
Campo3
Campo4
...
E você poder criar esses campos como boolean (True ou false) .. ou mesmo como char(1), ai vc marca S quando tiver selecionado ou N quando não tiver (sim ou nao) ... 0 ou 1 ... a forma como achar melhor tratar ...
Para ter o retorno do checkbox (true or false): CheckBox1.Checked;
Mas você poderia criar uma tabela com os campos referentes ao checkbox, e lá nos campos do banco de marcos marcar :
Tabela
Campo1
Campo2
Campo3
Campo4
...
E você poder criar esses campos como boolean (True ou false) .. ou mesmo como char(1), ai vc marca S quando tiver selecionado ou N quando não tiver (sim ou nao) ... 0 ou 1 ... a forma como achar melhor tratar ...
Para ter o retorno do checkbox (true or false): CheckBox1.Checked;
Só reforçando o que o colega falou, existe 2 propriedades no DBCheckBox: ValueChecked onde você coloca 'S', e ValueUnChecked onde você coloca 'N'
São esses valores que serão gravados no banco de dados e dar o retorno ao passar os registros no sistema.
A aspa não é necessária*
Abraço.
GOSTEI 0
Jawa-informática
06/03/2014
CREATE TABLE EXAMES
(
REGISTRO INTEGER NOT NULL,
NOME VARCHAR(40) NOT NULL,
IDADE INTEGER NOT NULL,
MEDICO VARCHAR(40) NOT NULL,
PLANO_SAUDE VARCHAR(30) NOT NULL,
HEMOGRAMA SMALLINT CHECK ((0,1)), //este campo é chekbox
GLICEMIA SMALLINT CHECK ((0,1)), //este campo é chekbox
COLESTEROL SMALLINT CHECK ((0,1)), //este campo é chekbox
TRIGLIDERIDIOS SMALLINT CHECK ((0,1)), //este campo é chekbox
HDL SMALLINT CHECK ((0,1)) //este campo é chekbox
)
SERIA DESTA FORMA COM O TIPO DE CAMPO "smallint" determinando para ele (0,1) ???
NO FORMULÁRIO TEM EM TORNO DE UNS 80 CHEKBOX E QUATRO edits
GOSTEI 0
Jawa-informática
06/03/2014
Luiz e Cláudio, muito obrigado mesmo pela ajuda!
Obtive também ajuda de um grande Implementador o André do SubRotina.
Consegui resolver
Se o ChekBox checado então recebe (1) se não recebe (0). Isto no delphi e no
banco de dados determino os campos do ChekBox como Smallint.
Abração amigos e obrigado!
RESOLVIDO
Obtive também ajuda de um grande Implementador o André do SubRotina.
Consegui resolver
if chekbox1.Checked then
ClientDataSet1.FieldByName('chekbox1').AsInteger := 1
else
ClientDataSet1.FieldByName('chekbox1').AsInteger := 0;
Se o ChekBox checado então recebe (1) se não recebe (0). Isto no delphi e no
banco de dados determino os campos do ChekBox como Smallint.
Abração amigos e obrigado!
RESOLVIDO
GOSTEI 0
Luiz
06/03/2014
Opa, que bom que deu certo! Abração!
GOSTEI 0