
Trabalhando com Banco de Dados
Sistema ADMC - O Cadastro de Produtos -
Conceito - Chave EstrangeiraContinuando com validações vamos implementar em nosso sistema o conceito de chave estrangeira.
Podemos notar que pela estrutura de nossas tabelas Produtos e Fornecedores as mesmas estão relacionadas pelos campos proForCodigo e ForCodigo, criando assim a possibilidade de implementarmos em nosso programa uma chave estrangeira.
Para isso precisamos carregar a tabela de fornecedores em nosso DataSet, já criado, para isso acrescente as seguintes linhas (somente as marcadas em Negrito):
' Declarações a nível de classe (visiveis)
'
Private oDataAdapter As oledbDataAdapter
Private oCb As OleDbCommand
Private oDataSet As DataSet
Private oBind As BindingManagerBase
Private iRegProdutos as Integer
Private daFornecedores As OledbDataAdapter
Private ocbFornecedores As OledbCommand
No evento FormLoad inclua as seguintes linhas (Marcadas em negrito)
'Cria o Adaptador / Sql
Dim sqlProdutos As String = "SELECT * FROM tabProdutos"
Me.oDataAdapter = New OleDbDataAdapter(sqlProdutos, oCnn)
daFornecedores = New OleDbDataAdapter("SELECT * FROM tabFornecedores", oCnn)
...
'Cria o ComandBuilder Executa o SQL
Dim oCB = New OleDbCommandBuilder(oDataAdapter)
Dim oCBFornecedores = New OleDbCommandBuilder(daFornecedores)
...
'Criar o DataSet
oDataSet= New DataSet()
oDataAdapter.Fill(oDataSet, "tabProdutos")
daFornecedores.Fill(oDataSet, "tabFornecedores")
...
' Cria o vetor da chave primária
Dim ChavePrimariaProdutos(1) As DataColumn
Dim chave_est_fornecedores As foreignkeyConstraint
' Cria a chave estrangeira - validando o codigo do fornecedor
chave_est_fornecedores = New ForeignKeyConstraint("FK", _
oDataSet.Tables("tabFornecedores").Columns("ForCodigo"), _
oDataSet.Tables("tabProdutos").Columns("proForCodigo"))
oDataSet.Tables("tabProdutos").Constraints.Add(chave_est_fornecedores)
oDataSet.EnforceConstraints = True
Se você fez tudo certinho, ao tentar incluir um código de fornecedor que não existe na tabela de fornecedores vai receber um aviso de erro.
Isso vai garantir a integridade do seu banco de dados, evitando que exista um produto com código de fornecedor invalido.
Dicas:
Ir para: Aula anterior | Proxima aula | Indice de Aulas
|
|
||
© 1999-2009 POWER
Informática - Rua João Manoel, 912 - Centro - Santana
do Livramento - RS
Fones: (55) 3 2 4 2 - 5 4 2 7 / (55) 9 9 9 4 - 8 7
8 2
Serviços Manutenção Hardware, programação, páginas Web