Usuário com melhor resposta
Preencher Tabela com outras Tabelas no vb.net usando SQL 2005 express

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- Editado tecnico.gilson terça-feira, 14 de julho de 2009 13:01
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 ProfessorID (int, chave primaria e auto incremento)NOme... demais camposTabela AlunoID (int, chave primaria e auto incremento)NOme... demais camposTabela CursoID (int, chave primaria e auto incremento)IDdoProfessorIDdoAluno... demais camposQdo 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
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 ProfessorID (int, chave primaria e auto incremento)NOme... demais camposTabela AlunoID (int, chave primaria e auto incremento)NOme... demais camposTabela CursoID (int, chave primaria e auto incremento)IDdoProfessorIDdoAluno... demais camposQdo 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
-
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 -
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/ -
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