Conectar a BD acces

22/03/2006 - 16:36 por jorge | Informe spam
Estoy desarrollando un proyecto de visual basic 6.0 en visual studio 2005,
necesito saber cual es ahora el control que sirve de conexion con una base de
datos en visual basic de Vstudio 2005 , el proyecto me pide un Control Data
de ADO, lo cual ya no corre en Vstudio 2005, me podrian ayudar por favor.
gracias.
 

Leer las respuestas

#1 Luis Miguel Blanco
27/03/2006 - 00:50 | Informe spam
Hola Jorge

Para establecer en VS2005 una conexión contra una base de datos, debes
utilizar un objeto Connection, teniendo en cuenta que en función del tipo de
origen de datos, existen diferentes clases Connection.

Según la base de datos con la que necesites trabajar, existen diferentes
proveedores de datos; cada proveedor de datos está asociado a un espacio de
nombres dentro de .NET Framework, el cual contiene la jerarquía de clases
necesaria para trabajar con bases de datos de ese tipo: conexiones, comandos,
adaptadores, conjuntos de datos, etc.

Por ejemplo, si necesitas trabajar con bases de datos Access, tendrás que
usar el proveedor OleDb, situado en el espacio de nombres System.Data.OleDb;
puedes importar este espacio de nombres al comienzo de tu archivo de código
para que sea más cómodo trabajar con las clases contenidas en el mismo.

A continuación, supongamos que vas a insertar una fila en una tabla de una
base de datos; la primera operación consiste en crear una conexión hacia la
misma usando un objeto OleDbConnection, seguimos con la creación de un
comando usando la clase OleDbCommand, y tras asignar a este último el objeto
de conexión creado inicialmente y la cadena con la sentencia sql, ejecutamos
el método que enviará dicha sentencia a la base de datos. En el siguiente
bloque de código tienes una muestra de como hacer esta operación:


'/////////////////////////////////
Imports System.Data.OleDb

Public Class Form1
Private Sub btnConectar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnConectar.Click
Dim oConexion As OleDbConnection = New OleDbConnection()
oConexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Northwind.mdb"

Dim sSQL As String
sSQL = "INSERT INTO Region (RegionID,RegionDescription) VALUES
(5,'Nueva')"

Dim oComando As OleDbCommand = New OleDbCommand()
oComando.Connection = oConexion
oComando.CommandText = sSQL

oConexion.Open()
Dim nFilasAfectadas As Integer = oComando.ExecuteNonQuery()
oConexion.Close()

MessageBox.Show("Filas afectadas: " & nFilasAfectadas)
End Sub
'
'
End Class
'/////////////////////////////////

En el caso de que trabajemos contra SQL Server, necesitamos importar el
espacio de nombre SqlClient, que contiene las versiones de los mismos objetos
conexión, comando, etc., pero preparados para trabajar contra esta base de
datos: SqlConnection, SqlCommand, etc.

Supongamos ahora que lo que necesitas es consultar el contenido de una tabla
de la base de datos, en este caso, la opción pasa por volcar las filas de
dicha tabla a un objeto DataSet, que consiste en una representación en
memoria de la base de datos, pero desconectada del origen físico de datos.

La filosofía de ADO.NET en este sentido es mantener la conexión contra la
base de datos el mínimo tiempo necesario, por este motivo, se establece la
conexión, se vuelcan los datos y se desconecta. En este caso, dado que cada
tipo de base de datos es distinto, además de la conexión y el comando,
debemos emplear un objeto llamado adaptador, que es el que se encarga de
transferir las filas de la base de datos física al DataSet. Cada proveedor de
datos dispone de su tipo específico de adaptador, dado que la arquitectura
interna de cada sistema gestor de datos es distinto.

En el siguiente ejemplo puedes ver como conectar con una base de datos
Access, ejecutar un comando contra una tabla, y mediante un adaptador, volcar
dicha tabla a un DataSet, que luego visualizaremos usando un control
DataGridView.

'/////////////////////////////////
Imports System.Data.OleDb

Public Class Form1
Private Sub btnCargarDataset_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btnCargarDataset.Click
Dim oConexion As OleDbConnection = New OleDbConnection()
oConexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Northwind.mdb"

Dim sSQL As String = "SELECT * FROM Products"
Dim oComando As OleDbCommand = New OleDbCommand()
oComando.Connection = oConexion
oComando.CommandText = sSQL

Dim oAdaptador As OleDbDataAdapter = New OleDbDataAdapter(oComando)
Dim dsDatos As DataSet = New DataSet()

oConexion.Open()
oAdaptador.Fill(dsDatos, "Products")
oConexion.Close()

Me.grdDatos.DataSource = dsDatos
Me.grdDatos.DataMember = "Products"
End Sub
End Class
'/////////////////////////////////

Espero que estos ejemplos te sirvan de ayuda para ir comenzando en el manejo
de datos con ADO.NET en VS2005.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"jorge" wrote:

Estoy desarrollando un proyecto de visual basic 6.0 en visual studio 2005,
necesito saber cual es ahora el control que sirve de conexion con una base de
datos en visual basic de Vstudio 2005 , el proyecto me pide un Control Data
de ADO, lo cual ya no corre en Vstudio 2005, me podrian ayudar por favor.
gracias.

Preguntas similares