Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

[Ajuda]DBCheckBox Delphi 2009

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Duvida [Ajuda]DBCheckBox Delphi 2009

    Olá estou desenvolvendo um sistema em Delphi 2009 com banco MySQL.
    No banco eu tenho uma tabela chamada TBursos onde tem os campos:
    Código, Nome, Descrição.
    O campo Código(int) tem um relacionamento com a tabela Clientes no campo CodCurso(int).

    Tenho um formulário que quero usar um dbCheckBox para marca todos com cursos de interesse e que esses cursos grave no banco de dados uma sequencia de números, exemplo:

    |v|Curso1
    | |Curso2
    |v|Curso3
    | |Curso4
    |v|Curso5
    |v|Curso6

    CodCurso=1356 <<< Esse seria o registro no banco. Podem me ajudar a montar esse código?
    Obrigado.
    Não troco o meu "oxente" pelo "ok" de ninguém !
    (Ariano Suassuna)

    Se ajudei agradeça!



  • Font Size
    #2
    Posso ajudar sim, mas não entendi aonde você quer a ajuda. Você quer saber como transformar o checked = true do Delphi em um código do curso pra colocar no banco? Ou quer saber como programar isso no banco de dados? Seja um pouco mais claro e eu lhe ajudarei (:
    sigpic

    Decidi deixar de ser usuário e virar desenvolvedor

    Comment


    • Font Size
      #3
      Ok vou tentar detalhar o que eu quero.

      Eu tenho um tabela no meu banco de dados chamado cursos, lá serão cadastrados 20 cursos cada cursos tem um código, exemplo: CodCurso: 1, Nome:Curso 1, Descricao: blabla....

      Eu terei também uma outra tabela chamada clientes, que essa tabela terá um campo chamado codcurso e fará uma ligação com codcurso da tabela curso...

      No Delphi terá um formulário para cadastro de cursos, e outro formulário para cadastro de clientes.

      No Formulário Cadastro de clientes terá vários DBcheckboox com todos os cursos que estão no cadastro de cursos.

      Quando eu selecionar por exemplo 5 cursos eu quero que cadastre no campo CadCursos da tabela clientes o código desses 5 cursos em conjunto, exemplo:
      Eu marquei os cursos de código: 1,2,5,8,12.
      No banco tem que está cadastrado: 125812.

      Entendeu?
      Não troco o meu "oxente" pelo "ok" de ninguém !
      (Ariano Suassuna)

      Se ajudei agradeça!


      Comment


      • Font Size
        #4
        Entendi perfeitamente e é muito fácil!
        Você até pode fazer da forma que comentou de gravar desta forma:
        125812, mas como notou, como vou saber quando é 12 e quando é 1 e 2?

        Ou seja, só iria causar problema. Por isso que temos o OBJETO DE RESOLUÇÃO,
        Talvez você entenda isso melhor se eu disser que vários alunos tem vários cursos.
        Se não entendeu ainda, peço que dê uma estudada melhor em banco de dados.
        Mas tentarei ser mais claro, você irá remover o Codcurso da tabela aluno e o Codaluno da tabela Curso. E vai criar uma terceira tabela entre o aluno e o curso. Nessa terceira tabela, só vai haver Codaluno e Codcurso. Podendo se repetir várias vezes na tabela os códigos de curso e aluno. Seguindo o seu exemplo, como ficaria:

        Codaluno - Codcurso
        1 - 1
        1 - 2
        1 - 5
        1 - 8
        1 - 12

        Como pôde notar, o código de aluno se repete várias vezes, o que se altera é o código do curso. Quando você quiser qualquer dado do aluno ou do curso, você vai usar o JOIN e irá buscar dados sobre o curso aonde o código é X, e sobre o aluno aonde o código é Y.
        Sabemos assim, todos os cursos que o aluno de código 1 faz. Se tiver mais alguma dúvida ou se não expliquei bem, pode perguntar!!

        Obs: Tanto o Codaluno quanto o Codcurso da terceira tabela serão chave primária.
        Last edited by Lizard; 27-05-2013, 23:03.
        sigpic

        Decidi deixar de ser usuário e virar desenvolvedor

        Comment


        • Font Size
          #5
          Eu entendi sim.
          Primeiramente muito obrigado pela ajuda.

          Olha essa nova tabela tem alguma ligação com a TBCursos e TBAlunos?
          Não troco o meu "oxente" pelo "ok" de ninguém !
          (Ariano Suassuna)

          Se ajudei agradeça!


          Comment


          • Font Size
            #6
            E se tiver ligação como eu faço para definir no checkbox quem é quem?
            Exemplo na tabela de TBCursos temos o cadastro de um Curso:
            TBCursos
            Código = 1 Nome: Curso 1
            E no formulário de Clientes eu posso cadastrar ou marcar vários cursos através do checkbox como eu vou saber quem é quem... Tem alguma opção no dbcheckbox que defina que o cadastro na TBCursos se refere ao campo que eu marquei no dbcheckbox?
            Não troco o meu "oxente" pelo "ok" de ninguém !
            (Ariano Suassuna)

            Se ajudei agradeça!


            Comment


            • Font Size
              #7
              Olha essa nova tabela tem alguma ligação com a TBCursos e TBAlunos?
              Tem sim, a Codaluno e CodCurso vão ser chaves estrangeiras (foreign key) na nossa nova tabela.
              Ambas serão chaves primárias (primary key) nesse objeto de resolução.

              Tem alguma opção no dbcheckbox que defina que o cadastro na TBCursos se refere ao campo que eu marquei no dbcheckbox?
              Um meio simples que penso é fazer vários ifs.
              Ex: if (Curso1Checkbox.checked) then
              "Chamada da função do mysql": Insert into TBCursos_e_Alunos values (1,1);
              if (Curso2Checkbox.checked) then
              "Chamada da função do mysql": Insert into TBCursos_e_Alunos values (1,2);
              sabe?
              sigpic

              Decidi deixar de ser usuário e virar desenvolvedor

              Comment


              • Font Size
                #8
                Lizard olha não necessariamente precisaria de um DBCheckbox para fazer uma seleção de cursos...
                Olha eu queria usar uma lista que o curso que eu escolhesse eu adicionasse em outra lista dentro do formulário tem como me ajudar a fazer.
                Não troco o meu "oxente" pelo "ok" de ninguém !
                (Ariano Suassuna)

                Se ajudei agradeça!


                Comment


                • Font Size
                  #9
                  Ajudo sim, muito fácil (: fale comigo no skype: lizardkyo1
                  sigpic

                  Decidi deixar de ser usuário e virar desenvolvedor

                  Comment

                  X
                  Working...
                  X