No mundo .Net, a manipulação de dados é bastante facilitada devido ao uso das classes contidas na namespace System.Data. O uso de objetos como Dataset, Datatable, DataRow faz com que sua aplicação utilize o modelo de dados desconectado.
O Framework utiliza todo o potencial do .Net para a manipulação de registros e demais funcionalidades. No exemplo a seguir mostro como é realizada uma conexão com o banco de dados, utilizando uma transação 4GL e retornando os dados da tabela usuário.
Dim conn As New PROConnection(True)
Dim usuario As New SysUsuario(conn.AppServer)
Dim dtUsuario As ttSysUsuarioDataTable
Try
conn.Transaction.BeginTransaction()
dtUsuario = usuario.GetAll
MsgBox(dtUsuario.Rows.Count)
conn.Transaction.CommitTransaction()
Catch ex As Exception
conn.Transaction.RollbackTransaction()
MsgBox(ex.Message)
Finally
conn.AppServer.Shutdown()
End Try
Realizada a conexão com o banco de dados o objeto dtUsuario é populado com todos os registros da tabela SysUsuario, conforme utilizado no exemplo. Após o encerramento da transação e da conexão, a classe pode fazer uso do modelo desconectado do .Net. Pode-se então popular, por exemplo, um componente DataGridView.
O exemplo abaixo mostra como é realizada as operações de Inclusão, Modificação e Eliminação de um registro na mesma tabela (SysUsuario) utilizada no caso anterior.
Dim conn As New PROConnection(True)
Dim usuario As New SysUsuario(conn.AppServer)
Dim drUsuario As ttSysUsuarioRow = Nothing
Try
conn.Transaction.BeginTransaction()
'Cria o usuário 3
drUsuario = usuario.NewRecord()
drUsuario.User_ID = 3
drUsuario.Nome = "Teste 3"
drUsuario.Email = "teste@teste.com"
drUsuario.Inativo = False
drUsuario.Login = "teste3"
drUsuario.Senha = SimpleCryptography.Encrypt("1234")
drUsuario.TentativasLogin = 0
usuario.Save(drUsuario)
'Busca o usuário 3 e atualiza o campo e-mail
drUsuario = usuario.GetRecord(New Object() {3})
drUsuario.Email = "teste3@teste.com.br"
usuario.Save(drUsuario)
'Busca o usuário 3 e elimina
drUsuario = usuario.GetRecord(New Object() {3})
usuario.Delete(drUsuario)
conn.Transaction.CommitTransaction()
Catch ex As Exception
conn.Transaction.RollbackTransaction()
MsgBox(ex.Message)
Finally
conn.AppServer.Shutdown()
End Try
O Framework trás o modelo de transação do Progress para o domínio da aplicação .Net.
Este modelo de dados é a parte introdutória aos conceitos de conectividade com o banco de dados Progress.
Em breve mostrarei o modelo de apresentação (Templates) que já realizam estas operações da camada CRUD (Create, Read, Update, Delete) tornando o desenvolvimento de aplicações simples e mantendo assim o foco no desenvolvimento na "Regra de Negócio".
Carlos R. Nobrega
Arquiteto de Soluções .Net
Nenhum comentário:
Postar um comentário