En la siguiente sección, echaremos un vistazo a los objetos que puedes usar para abrir y leer datos de una base de datos. Nos quedaremos con nuestra base de datos de acceso, la AddressBook.mdb uno, y recrear lo que el Mago ha hecho. De esa manera, usted ver por ti mismo lo que está pasando entre bastidores.

Así que cierra cualquier proyecto abierto, y crea uno nuevo. Dale el nombre que quieras como, y empecemos.

Si aún no has descargado la base de datos de la Agenda, puedes conseguirla aquí:

Descargar la base de datos de la libreta de direcciones

El objeto de conexión

El objeto de conexión es lo que necesitas si quieres conectarte a una base de datos. Hay un número de diferentes objetos de conexión, y el que uses depende en gran parte en el tipo de base de datos a la que te conectas. Porque estamos conectando a una base de datos de Access, necesitaremos algo llamado objeto de conexión OLE DB.

OLE son las siglas de Object Linking and Embedding, y es básicamente un montón de objetos (objetos COM) agrupados que le permiten conectarse a las fuentes de datos en en general, y no sólo en las bases de datos. Se puede usar, por ejemplo, para conectarse a archivos de texto, servidor SQL, correo electrónico y mucho más.

Hay un número de diferentes objetos OLE DB (llamados proveedores de datos), pero el que usaremos se llama " Jet ". Otros son SQL Server y Oráculo.

Así que coloca un botón en tu formulario. Cambia la propiedad Name por btnLoad . Haz doble clic en tu botón para abrir la ventana de código. Añade la siguiente línea:

Dim con As New OleDb.OleDbConnection

La variable con ahora contendrá el Objeto de conexión t. Nota que hay una parada completa después de la parte del OleDB. Entonces obtendrás una caja emergente desde donde puedes seleccionar OleDbConnection. También estamos creando un Nuevo Este es el objeto que se usa para conectarse a un Access base de datos.

No más lectura de estas lecciones online - ¡consigue el eBook aquí!

Fijando una cadena de conexión

Hay Propiedades y Métodos asociados con el Objeto de Conexión, de curso. Queremos empezar con la propiedad ConnectionString. Esto puede tomar MUCHO parámetros . Afortunadamente, sólo necesitamos unos pocos de estos.

Necesitamos pasar dos cosas a nuestro nuevo Objeto de conexión : la tecnología que queremos usar para hacer la conexión con nuestra base de datos; y donde la base de datos es. (Si su base de datos estuviera protegida por una contraseña y un nombre de usuario, añadiría estos dos parámetros también. El nuestro no, así que sólo necesitamos los dos).

La tecnología se llama Proveedor ; y se utiliza Fuente de datos para especificar dónde está su base de datos. Así que añade esto a tu código:

Dim dbProvider As String
Dim dbSource As String
Dim MyDocumentsFolder As String
Dim TheDatabase As String
Dim FullDatabasePath As String

dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;"

Primero, establecimos cinco variables de cadena. La última línea especifica el proveedor tecnología que vamos a usar para hacer la conexión, en este caso Jet.OLEDB.4.0:

"PROVEEDOR=Microsoft.Jet.OLEDB.4.0;"

Fíjese en el punto y coma al final de la línea. Esto es necesario.

Sin embargo, si estás tratando de conectarte a una moderna base de datos de Access, entonces puede necesitar un proveedor diferente, uno llamado ACE:

dbProvider = "PROVIDER=Microsoft. ACE.OLEDB.12.0 ;"

Incluso hay una versión 15.0:

dbProvider = "PROVIDER=Microsoft. ACE.OLEDB.15.0 ;"

A continuación, necesitas el nombre de tu base de datos, y dónde está. Esto podría ser un en su ordenador, o en un servidor. Lo que haremos es copiar nuestra base de datos a la carpeta de documentos de Windows. Primero, agregue una línea para el nombre de su base de datos:

La base de datos = "/Libro de direcciones.mdb"

Para apuntar a la carpeta de Documentos, añada esta línea:

MyDocumentsFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

La línea es un poco compleja. Sin embargo, después del signo de igualdad, tenemos esto:

Environment.GetFolderPath( )

La ruta de la carpeta que estás obteniendo va entre los corchetes redondos de GetFolderPath:

Medio Ambiente.CarpetaEspecial.MisDocumentos

La carpeta especial en este caso es la carpeta MyDocuments (MyDocuments es la nombre de la carpeta de documentos). Otras carpetas especiales son:

Escriba su propio código de base de datos en VB .NET

Después de establecer un nombre para la base de datos y señalar la carpeta de Documentos, podemos combinarlo para obtener una fuente de datos:

dbSource = "Data Source = " & FullDatabasePath

Lo que estamos haciendo aquí es añadir una ruta y una base de datos a la cadena de texto "Data Fuente = ".

Su ventana de codificación debería verse ahora así:

Escriba su propio código de base de datos en VB .NET

Ahora necesitamos una cadena de conexión.

En la parte superior del código, establecimos esta línea:

Dim con As New OleDb.OleDbConnection

La estafa variable ahora contiene un objeto OleDbConnection. Este objeto con necesita un proveedor de base de datos y una fuente de datos. Esto se hace con el ConnectionString propiedad:

con.ConnectionString = PROVIDER_AND_PATH_HERE

Después del signo igual, se necesita un proveedor de base de datos y una fuente de datos (los datos es la ruta de acceso a su base de datos).

Podríamos haber puesto estas dos cosas en una línea bastante larga:

con.ConnectionString = "PROVEEDOR=Microsoft.Jet.OLEDB.4.0;Data Fuente = $0027C:/bases de datos/Libro de direcciones.mdb$0027"

Aquí tenemos al PROVEEDOR y a la FUENTE DE DATOS juntos. Separando los dos es un punto y coma. La Fuente es una ruta de archivo que apunta a una carpeta de nuestro disco duro. Esto funciona perfectamente bien para una simple cadena de conexión.

Pero la ruta de nuestra base de datos (la carpeta de documentos) es bastante larga, así que hemos extender nuestro código un poco más.

Sin embargo, hace lo mismo: pasa la propiedad ConnectionString el nombre de un proveedor de datos, y una ruta de acceso a la base de datos.

Así que añade esta línea a tu código:

con.ConnectionString = dbProvider & dbSource

Aquí, estamos usando un carácter de ampersand para combinar el proveedor y la fuente de datos.

Ahora que tenemos una ConnectionString, podemos seguir adelante y abrir la base de datos. Esto es bastante fácil, sólo hay que usar el método abierto del objeto de conexión:

con.Open( )

Una vez abierta, la conexión tiene que ser cerrada de nuevo. Esta vez, sólo usa el botón Cerrar método:

con.Close( )

Añade las siguientes cuatro líneas a tu código:

con.Open( )
MessageBox.Show("La base de datos está ahora abierta")

con.Close()
MessageBox.Show("La base de datos está ahora cerrada")

Su ventana de codificación se verá entonces así:

Escriba su propio código de base de datos en VB .NET

Antes de probar tu código, asegúrate de copiar el archivo de la base de datos de la Agenda. a la carpeta de documentos de su ordenador.

Pruebe su nuevo código ejecutando su programa. Haga clic en su botón y el dos buzones de mensajes deberían aparecer. Si no lo hacen, asegúrese de que su fuente de datos El camino es correcto. Si no lo es, puede que veas una OleDbException fue deshecha mensaje de error:

Escriba su propio código de base de datos en VB .NET

El mensaje de error es un poco vago y misterioso. Pero lo que es El dicho es que no puede encontrar el camino a la base de datos, por lo que no puede abrir la conexión. La línea con.Open en su código se iluminará en verde. Necesitas especificar la ruta correcta a tu base de datos. Cuando lo hagas, verás los buzones de mensajes de nuestro código, y no el grande de arriba.

Ahora que hemos abierto una conexión con la base de datos, necesitamos leer la información de ella. Aquí es donde entran el DataSet y el DataAdapter.

Aprenda sobre el DataSet y el DataAdapter --;

Volver a la página de contenidos de VB NET

Recomendado para ti