CARREGAR DATAGRIDVIEW OOP

ADHEL 05/08/2013 13:27:15
#427035
São apenas essas duas tabelas que o banco contém.
KERPLUNK 05/08/2013 13:46:05
#427040
Então, você vai criar uma terceira tabela chamada Pessoa. Nela você colocar os dados de pessoa(Nome, Cidade, Telefone...). As duas outras tabelas, vão ter além do campo ID, também um campo do tipo Int que vai ser o tipo de dados do Id de Pessoa. Então vai criar as classes, Pessoa, Funcionário e Cliente. Na classe Pessoa, coloque os campos da tabela Pessoa como propriedades, de preferência propriedades virtual Nas classes Funcionário e Cliente, herde a classe Pessoa. Em cada uma das classes coloque um método [Ô]GetById[Ô], que vai buscar o objeto referente por ID, por exemplo, em Pessoa, coloque um método [Ô]GetById[Ô], que vai procurar na tabela Pessoa, o registro referente ao Id passado como parâmetro ao método. No construtor das classes Funcionário e Cliente, faça a busca da pessoa(do método que acabou de criar), preenchendo as propriedades herdadas em cada uma das classes Funcionario e Cliente. Mais ou menos assim:

public class Pessoa
{
public int ID {get;set}
public string Nome {get; set;}
public Pessoa GetById(int Id)
{
Pessoa _return = null;
Datareader([Ô]select * from pessoa[Ô]); //pseudo-código, aqui, faça o sqlcommand parametrizado
se (datareader.hasrows)
{
_return = new Pessoa();
_return.Id = datareader([Ô]Id[Ô]);
_return.Nome = datareader([Ô]Nome[Ô]);
......
}
return _return
}

Faça o mesmo nas classes de Funcionário e Cliente.

Depois, nas classes Cliente e Funcionario, ao buscar um cliente ou funcionário por Id(método GetById de cada classe), faça também uma chamada ao método de Pessoa, buscando os dados de pessoa e preenchendo os dados da pessoa herdada em suas respectivas classes. Entendeu?
ADHEL 05/08/2013 15:35:36
#427049
Pelo que entendi gravo na tabela Pessoa o Nome,Cidade e o Telefone tanto dos funcionarios como dos clientes.
Na tabela Funcionarios gravo o (IdPessoa = Id da Tabela Pessoa),Cpf, Cargo e Salario.
Na minha infinita ignôrancia.
Qual é a vantagem, gravar os dados em duas tabelas (Pessoa + Funcionario) ou (Pessoa + Cliente)?
Quando digo [Ô]gravar os dados[Ô], sei bem, que não vou gravar os mesmos dados(duplicidade) nas tabelas, apenas o Id que na outra tabela se chamará IdPessoa.
KERPLUNK 05/08/2013 15:44:26
#427050
Quando você grava um registro na tabela pessoa, ele pode ser usado tanto para funcionario como para cliente, fornecedor, parceiro, ou qualquer outra coisa que queira, você vai [Ô]aproveitar[Ô] o mesmo registro para várias coisas.
ADHEL 05/08/2013 16:26:57
#427055
Citação:

:
Quando você grava um registro na tabela pessoa, ele pode ser usado tanto para funcionario como para cliente, fornecedor, parceiro, ou qualquer outra coisa que queira, você vai [Ô]aproveitar[Ô] o mesmo registro para várias coisas.


Se o registro que disseste para gravar na tabela Pessoa ,eu gravasse na tabela Cliente ou Funcionário, eu não posso [Ô]aproveitar[Ô] o mesmo registro para várias coisas do mesmo modo ?
KERPLUNK 05/08/2013 16:34:15
#427058
Não necessariamente, se você grava em Pessoa, essa mesma Pessoa pode ser usada em um funcionário, cliente, fornecedor ou qualquer outro tipo que quiser.
ADHEL 06/08/2013 20:19:55
#427117
Muito obrigado.
Agora é colocar em prática.
Até mais
Página 2 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas