ACESSO A BANCO DE DADOS MAIS RAPIDO VB.NET

JMANGAS 20/06/2013 17:17:06
#425043
Prezados, estou iniciando em Visual Studio 2012 e construí o código abaixo para acesso a ACCESS, fazendo leitura de dados, update e insert, apenas para exemplificar a minha dúvida.

Dúvidas:

1) O projeto consta somente com esses códigos e estou rodando e um computador I7 com 16 gb de ram local (sem estar conectado a rede), para teste e quando rodo o programa CARAMBA E muiiiiiiiiito mais lento que com vb6, existe alguma forma de acessar access via codigo mais rápido? Pois, imagina se eu colocar ele em rede e vários usuários acessando. (vão parar o tempo todo para tomar café....)

2) O acesso via código ao access pode ser feito de uma forma mais simples? Acostumado com o velho vb6 (fazia referencia e depois usava para qualquer coisa inserir, atualizar delete) sem ter que ficar instanciando para cada operação colocando um código.....

Abaixo segue o código. Coloquei em maiúsculo como seria para realizar as operações de atualizar, inserir....

Imports System
Imports System.Data
Imports System.Data.OleDb

Dim con As New OleDb.OleDbConnection
Dim sql As String
con.ConnectionString = [Ô]PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source = C:\Cadastro.mdb[Ô]

con.Open()
sql = [Ô]Select * from Usuario[Ô]

da = New OleDb.OleDbDataAdapter(Sql, con)
da.Fill(ds, [Ô]Usuario[Ô])

Ler registro

TextBox1.Text = ds.Tables([Ô]Usuario[Ô]).Rows(0).Item(1)

Atualizar Registro

Dim cb As New OleDb.OleDbCommandBuilder(da)

ds.Tables([Ô]Usuario[Ô]).Rows(0).Item([Ô]Usuario[Ô]) = [Ô]José[Ô]
da.Update(ds, [Ô]Usuario[Ô])

Inserir Novo registro

Dim dsNewRow As DataRow

dsNewRow = ds.Tables([Ô]Usuario[Ô]).NewRow()

dsNewRow.Item([Ô]Usuario[Ô]) = [Ô]Antonio[Ô]
dsNewRow.Item([Ô]Endereco[Ô]) = [Ô]Rua B[Ô]

ds.Tables([Ô]Usuario[Ô]).Rows.Add(dsNewRow)

da.Update(ds, [Ô]Usuario[Ô])

con.Close()

ALTAIR148 20/06/2013 17:55:27
#425044
Boa noite,

Citação:

1) O projeto consta somente com esses códigos e estou rodando e um computador I7 com 16 gb de ram local (sem estar conectado a rede), para teste e quando rodo o programa CARAMBA E muiiiiiiiiito mais lento que com vb6, existe alguma forma de acessar access via codigo mais rápido? Pois, imagina se eu colocar ele em rede e vários usuários acessando. (vão parar o tempo todo para tomar café....)



Amigo, hoje você pode ter uma [Ô]super máquina[Ô], mas se não usar boas práticas de programação seu sistema pode ficar lento como se estive rodando em um servidor de capacidade inferior. O access se você pretende trabalhar com ele, ele não é a melhor solução, outros bancos como Mysql, SqlServer, Firebird, tem recursos que ajudam a otimizar o tráfego na rede como Stored Procedures, Triggers e Functions coisa que o access não possui, e sem falar na qualidade e segurança destes bancos.

Tem um excelente exemplo do Kerpelunk aqui no fórum de como criar CRUD que é uma mão na roda.

Citação:

2) O acesso via código ao access pode ser feito de uma forma mais simples? Acostumado com o velho vb6 (fazia referencia e depois usava para qualquer coisa inserir, atualizar delete) sem ter que ficar instanciando para cada operação colocando um código.....



Pesquise na internet sob desenvolvimento em camadas, com esses exemplos você vai ver a infinidade de recursos que a plataforma .NET oferece, inclusive essa questão de reaproveitamento de código que é fantástica.



Tópico encerrado , respostas não são mais permitidas