Visual Basic.NET - Ejemplo concreto de access

 
Vista:

Ejemplo concreto de access

Publicado por ohgar (43 intervenciones) el 23/12/2005 14:35:27
Ola
Quiza a algunos de ustedes que están comenzando con esto del acceso a datos se hayan encontrado con que hay mucha información dispersa por ahí sobre el acceso a datos. En unas parte se encuentra, como conectarse, en otra crear el data adapter etc. pero al tratar de hacer funcionar todo junto no funciona, porque un metodo no funciona, porque falta algo etc.
Por eso estoy tratando de crear un pequeño ejemplo concreto con acceso a access con el animo de que me colaboren.
a continuación el código que tengo:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Se debe agregar la referncia a System.Data para poder crear la conección
' Defino la conección
Dim Cnn As Data.OleDb.OleDbConnection ' Conección
' Creo una nueva instancia de la cadena de conección
Cnn = New Data.OleDb.OleDbConnection
Cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Datos\AplParam.mdb;Jet OLEDB:Database Password=123;"

' Defino un DataAdapter
Dim Adapter As Data.OleDb.OleDbDataAdapter ' Adaptador
' Instrucciones sql para el Adaptador
Adapter = New Data.OleDb.OleDbDataAdapter("SELECT * FROM Usuarios", Cnn)
' agregue una referencia .com a Microsoft ADO 2.7 y me lo dejó definir
Dim DatosDS As New Data.DataSet
' Abro la BD
Cnn.Open()
' Muestro el estado de la conección
MsgBox(Cnn.State.ToString)
'Lleno el Dataset con la tabla
Adapter.Fill(DatosDS)
' Cierro la conección
Cnn.Close()
MsgBox(Cnn.State.ToString)
' Consulto el primer registro del

MsgBox(DatosDS.Tables(("Usuarios"), "Nivel"))
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ejemplo concreto de access

Publicado por ohgar (43 intervenciones) el 23/12/2005 14:38:36
Ahi quede, ya que no me muestra ningún registro
agradesco los comentarios, como mejorar el código, que otros metodos existen,
como insserto borro actualizo coo vinculo con controles, como cargo más de una tabla en el dataset etc.
gracias a los de buen corazón.

ohgar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejemplo concreto de access

Publicado por Claudio (6 intervenciones) el 23/12/2005 16:19:35
Amigo, creo saber cual es el problema, cuando tu rellenas el DataSet debes especificar el nombre de la tabla que quieres llenar. Si no lo haces así, ADO.NET le pone por defecto el nombre de tabla Table1.

Lo que debes hacer es esto

Adapter.Fill(DatosDS, "Usuarios")

Si haces esto ADO sabra que los datos que llenas son de la tabla Usuarios.
Hazlo así y podras consultar el primer, segundo y todos los registros que quieras.

Saludos. Chao
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejemplo concreto de access

Publicado por ohgar (43 intervenciones) el 23/12/2005 17:43:23
ES correcto lo que anotas, por ahí lo leí en alguna parte, pero parece que estoy consultando mal por que sigue mostrando el mensaje en blanco. ¿Y si quisiera agregar otra dabla al dataset? ¿Que debo hacer?
Gracias
Omar H.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejemplo concreto de access

Publicado por erque (26 intervenciones) el 23/12/2005 18:58:15
Hace pocos días puse yo un ejemplo con el texto Revisar código.
En el pongo como se conecta todo, como moverse por los registros, como dar de alta, baja y modificar un registro, etc. Sobre el dia 18-19 o el 20
El único problema es que peta cuando hace dos o tres operaciones seguidas. Nadie ha contestado.
Seguro que te sirve el código, además, pongo nombre como labasededatos, latabla, etc para que quede más claro.
Me voy de vacaciones hasta el 3. Espero que te sirva de algo.Si por casualidad encuentras el porqué falla, por favor, enviame un correo, que la cuenta que pongo es correcta [email protected].
A ver si la gente que de verdad sabe se anima y nos da una mano, que nos hace falta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

me faltaban los botones

Publicado por erque (26 intervenciones) el 23/12/2005 19:41:49
Private Sub pondatos()
eldatarow = Me.eldataset.Tables("latabla").Rows(Me.registroactual)
TextBox1.Text = eldatarow.Item("cliente")
Label1.Text = "Registro: " & registroactual + 1 & " de " & eldataset.Tables("latabla").Rows.Count

'pongo registroactual+1 ya que lo inicio como registro=0 en el Form1_Load
end Sub

ir al primer registro:
registroactual = 0
pondatos()

registro anterior:
If registroactual = 0 Then
MessageBox.Show("Primer registro")
Else
registroactual -= 1
pondatos()
End If

registro siguiente:
If registroactual = (eldataset.Tables("latabla").Rows.Count - 1) Then
MessageBox.Show("Último registro")
Else
registroactual += 1
pondatos()
End If

ultimo registro:
registroactual = (Me.eldataset.Tables("latabla").Rows.Count - 1)
pondatos()

otra cosa, de vez en cuando veras que pone 'cambiado. No hagas caso que es solo un comentario que se me ha colado.
En un textbox expongo el nombre del cliente y para hacer pruebas de alta y modificación hago lo siguiente:

eldatarow("cliente") = Me.TextBox2.Text
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar