none
Preencher Tabela com outras Tabelas no vb.net usando SQL 2005 express RRS feed

  • Pergunta

  • Olá Amigos!


    Seguinte, to começando a programar em vb.net e fiz um programa de uma escola pra brincar...

       já consigo inserir dados no banco nas seguintes tabelas :  Aluno, Professor, Curso e Matricula sendo todos os campos em formato texto e só os campos CodigoAluno, CodigoProfessor, CodigoCurso e  CodigoMatricula  sendo como numeric e usando a opção auto_increment

       Bom, eu gostaria de saber como preenche uma tabela curso com os dados das tabelas professor e alunos, tbm a tabela Matricula com Cursos seguidos por Alunos e por ai vai...

      No diagran class criei relacionamento entre os campos *codigo das tabelas de forma que todas as tabelas se comuniquem


    Fico muito agradecido a quem me ajudar pois estou muito empenhado em aprender isso e nao faço ideia de como fazer


    Forte Abraço
    Gilson Dias
    terça-feira, 14 de julho de 2009 12:58

Respostas

  • Fala Gilson, que bom que esteja aprendendo vb.net vc vai gostar...agora vamos ao que interessa.

    Como vc comento vc ja fez o relacionamento entre as tabelas. Pra inserir um registro na tabela de cursos que deve possuir relacionamento com a tabela de aluno e/ou professores vc criar uma "foreign key (Chave estrangeira)", que faz referencia ao campo autoincremento que vc criou e que é uma Primary Key (chave primaria).

    Exemplo:

    Tabela Professor
    ID (int, chave primaria e auto incremento)
    NOme
    ... demais campos


    Tabela Aluno
    ID (int, chave primaria e auto incremento)
    NOme
    ... demais campos

    Tabela Curso
    ID (int, chave primaria e auto incremento)
    IDdoProfessor 
    IDdoAluno
    ... demais campos


    Qdo vc for inserir um registro os campos IDdoProfessor e IDdoAluno devem existir, para que seja feito o relacionamento. 


    Att,


    Israel Gonçalves “Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.
    • Marcado como Resposta tecnico.gilson domingo, 26 de julho de 2009 15:43
    terça-feira, 14 de julho de 2009 13:08

Todas as Respostas

  • Fala Gilson, que bom que esteja aprendendo vb.net vc vai gostar...agora vamos ao que interessa.

    Como vc comento vc ja fez o relacionamento entre as tabelas. Pra inserir um registro na tabela de cursos que deve possuir relacionamento com a tabela de aluno e/ou professores vc criar uma "foreign key (Chave estrangeira)", que faz referencia ao campo autoincremento que vc criou e que é uma Primary Key (chave primaria).

    Exemplo:

    Tabela Professor
    ID (int, chave primaria e auto incremento)
    NOme
    ... demais campos


    Tabela Aluno
    ID (int, chave primaria e auto incremento)
    NOme
    ... demais campos

    Tabela Curso
    ID (int, chave primaria e auto incremento)
    IDdoProfessor 
    IDdoAluno
    ... demais campos


    Qdo vc for inserir um registro os campos IDdoProfessor e IDdoAluno devem existir, para que seja feito o relacionamento. 


    Att,


    Israel Gonçalves “Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.
    • Marcado como Resposta tecnico.gilson domingo, 26 de julho de 2009 15:43
    terça-feira, 14 de julho de 2009 13:08
  • Olá Israel!

     Que bom q vc respondeu, e quando eu incluir na tabela curso apenas os códigos ID dos alunos e professores... tipo, eu vou ter o cadastro completo do aluno e do professor cadastrado na tabela curso apenas inserindo o código deles? tipo, se eu quiser criar uma consulta dentro dentro da tabela curso para ver os alunos cadastrados e os dados deles detalhados (completo de cada aluno)? como eu faria? teria que usar uma DataGridView?


    Abraço cara e muito obrigado pela resposta desde já?

    Gilson Dias 
    sexta-feira, 17 de julho de 2009 20:46
  • Gilson,

    Vc pode usar N componentes para fazer isso, o que irá respeitar os dados é o tipo de dados que vc cria na suas entidades.

    Veja, uma entidade pode ser um objeto do mundo real, exemplo: Curso, Aluno, Professor, seguindo o que o Israel te falou, imagine que entao na tabela Curso vc tenha a chave estrangeira da tabela Aluno.

    Tabela Curso.
     - string Nome Curso.
     - Cód. Aluno ( chave estrangeira).

    No .Net vc poderia ter uma representação desta tabela criando duas classes:

    Classe Curso
     - string Curso
     - Classe Aluno

    e etc..

    Hoje no mercado existem ótimas ferramentas que fazem o mapeamento objeto relacional para você, ou seja mapeiam as tabelas criando as classes e relacionamentos necessários: Exemplo Entity Framework, Link, Nhibernate e etc..

    Se puder depois de uma olhada, veja se te ajuda a dar uma ideia -> http://nelsonborgesjr.spaces.live.com/blog/cns!A1C7FFFCFB9D3EE5!304.entry

    Abraço,
    Nelson Borges - http://nelsonborgesjr.spaces.live.com/blog/
    sábado, 18 de julho de 2009 23:32
  • Olá pessoal!

    Bom, até ai eu acho q entendi mas surgiu outra dúvida...

    * Eu teria que trazer os dados do sql para um listbox por ex...??
    * Depois selecionar os dados como : Professor, curso, Alunos e tal...
    * Depois de selecionado eu devo mandar esses dados para a 4ª tabela que seria a MATRICULA ?

      Está certo meu raciocíneo? mas como seria o código para eu  trazer os dados para o listbox e depois inserir os dados nos campos da tabela MATRICULA ?


    Muito obrigado desde já pela Resposta

    Gilson Dias
    quarta-feira, 22 de julho de 2009 13:38