GARANTIR DESCONTO

Fórum Guardar Chekbox em Banco de dados Firebird #472128

06/03/2014

0

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
Jawa-informática

Jawa-informática

Responder

Posts

06/03/2014

Luiz

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;

Responder

Gostei + 0

06/03/2014

Claudio Andrade

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;



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.
Responder

Gostei + 0

08/03/2014

Jawa-informática

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
Responder

Gostei + 0

11/03/2014

Jawa-informática

Luiz e Cláudio, muito obrigado mesmo pela ajuda!
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
Responder

Gostei + 0

11/03/2014

Luiz

Opa, que bom que deu certo! Abração!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar