Red de conocimiento informático - Material del sitio web - Utilice DAO para implementar la programación de bases de datos en Visual Basic

Utilice DAO para implementar la programación de bases de datos en Visual Basic

DAO (DataAccessObject) significa Objeto de acceso a datos, que es uno de los métodos importantes de programación de bases de datos. DAO es una interfaz orientada a objetos, que se caracteriza por no ser un objeto visual, y su uso debe completarse mediante codificación. DAO es una colección de clases de objetos que diseñan la estructura de un sistema de base de datos relacional. Proporciona propiedades y métodos para completar todas las operaciones necesarias para administrar dicho sistema, incluida la creación de bases de datos, la definición de tablas, campos e índices, el establecimiento de relaciones entre tablas, la localización y consulta de bases de datos y otras herramientas. Debido a la aparición de ADO (ActiveXDataObjectActiveX Data Object), el uso de DAO se ha reducido considerablemente, pero puede conectar varias fuentes de datos sin usar ODBC (Open Database Connectivity), por lo que todavía usamos a menudo el DAO clásico. A continuación, le presentaré en detalle cómo utilizar la programación DAO.

Se debe hacer referencia a DAO antes de su uso. El método consiste en abrir VB6.0, seleccionar el elemento "Referencia" del menú "Proyecto" de VB, cuando aparezca el cuadro de diálogo "Referencia", seleccionar "MicrosoftDAO3.51ObjectLibrary" de la lista de bibliotecas y hacer clic en "Aceptar". . Ahora puede programar utilizando todos los objetos proporcionados por la biblioteca de objetos DAO.

1. Crear una base de datos:

Utilice el método CreateDataBase en DAO para crear dinámicamente una base de datos según las necesidades del usuario. Esto es muy útil en programas. Los usuarios pueden crear bases de datos en tiempo real según sea necesario. El proceso de establecimiento es el siguiente:

PrivateSubCom_creat_Click()

OnErrorGoToErr100

CreatDataBase "nombre de la base de datos.mdb", dbLangGeneral

Msgbox" creación de la base de datos completada "

ExitSub

Err100:

MsgBox "¡No se puede crear la base de datos!" vbCrLfvbCrLfErr.Description, vbInformation

EndSub

De esta manera, la base de datos se creará en la ruta predeterminada actual.

2. Cree tablas y campos:

Después de establecer la base de datos, debe crear una tabla en la base de datos, lo que requiere el uso del objeto TableDef. Primero defina un objeto de tipo TableDef y luego use el método Append en la colección TableDef para agregarlo a la base de datos. Y defina un objeto Field al mismo tiempo, use el método CreateFiele para crear un objeto Field y agregue campos a la tabla.

Por ejemplo:

PrivateSubCom_table_Click()

OnErrorGoToErr100

DimDefdbAsDataBase

DimNewTableAsTableDef

DimNewFieldAsField

SetDefdb=Workspaces(0).OpenDatabase(App.path "nombre de la base de datos.mdb", 0, False)

SetNewTable=DefDataBase.CreateTableDef("nombre de la tabla")

SetNewField =DefTable.CreateField("field name", dBText, 6)'Crea un campo de caracteres con una longitud de 6 caracteres

DefTableFields.AppendNewField'Field append

DefDatabase.TableDefs . AppendNewTable′ tabla adjunta

Msgbox"Creación de tabla completada"

ExitSub

Err100:

MsgBox"Lo sentimos, la tabla no se puede crear ." ¿Cree una base de datos antes de crear una tabla? ", vbCritical

EndSub

Una base de datos puede tener más de una docena o incluso docenas de campos. ¿En cuántos campos se deben crear? una tabla? ¿Cuántas veces quieres agregar a la tabla? El comando de agregar campo se debe usar después de crear cada campo, pero el comando de agregar tabla solo debe completarse con un comando después de crear todos los campos.

3. Abrir la base de datos:

En VB, se debe dar una explicación antes de hacer referencia a una variable de objeto. Lo mismo ocurre con DAO. Las variables de la base de datos deben declararse primero, por ejemplo: DimdbaseAsDatabase. Después de establecer la variable del objeto de la base de datos, podemos abrir la base de datos. En circunstancias normales, solo accedemos a una base de datos. Después de abrir la base de datos, operaremos en cada registro de la base de datos. Esto requiere usar el objeto Recordset para crear un conjunto de registros. Por ejemplo:

PrivateSubCommand_OpenDatabase_Click()

DimdbaseasDatabase

DimrsAsRecordset

Setdbase=OpenDatabase(App.path "nombre de la base de datos.mdb")

Setrs=dbase.OpenRecordset("select*from table name")

EndSub

De esta manera, los registros de la base de datos se colocan en el Recordset y puede ser seguido Operado.

4. Uso de la base de datos:

Cuando abre la base de datos y crea un conjunto de registros, puede explorar, eliminar, agregar y buscar el contenido de la base de datos.

1) Navegar hacia adelante

PrivateSubcmd_previous_Click()

rs.MovePrevious

ifrs.BOF=Truethen

rs.Movelast

Endif

fori=0to11

label(i).caption=rs.F

2) Navegar hacia atrás

PrivateSubcmd_next_Click()

rs.MoveNext

Ifrs.EOF=Truethen

rs.MoveFirst

Endif

fori=0to11

label(i).caption=rs.Fields(i)""

siguiente

EndSub

3) Eliminar registros

PrivateSubcmd_del_Click()

OnErrorGoTohandle

Dimmsgasstring

msg="Si desea eliminar el registro "Chr$(10)

msg=msglabel(0)'Agregue el nombre en clave del registro eliminado a msg

IfMsgbox(msg, 17, "Delete record")1ThenExitsub

rs.delete

rs.Movenext

Ifrs.EOF=TrueThen

rs.MovePrevious

Endif

fori=0to11

label(i).caption=rs.Fields(i)""

siguiente

identificador:

MsgBox"¡¡¡Este registro no se puede eliminar!!!"

ExitSub

EndSub

4) Agregar registro

a la base de datos Agregar registros es un poco más problemático y se puede dividir aproximadamente en tres pasos: primero, use el método AddNew para agregar un nuevo registro en blanco a la base de datos; segundo, asigne los datos que se ingresarán a cada campo de la base de datos; ; finalmente, use el método Updata para agregar el registro Write a la base de datos.

Por ejemplo:

PrivateSubcmd_new_Click()

rs.AddNew

Fori=0to11

rs.Fields(i)=TextBox(i ) .Text

Next

rs.Updata

EndSub

5) Buscar registros

Puedes usar Método de búsqueda, por ejemplo:

PrivateSubCmd_search_Click()

Setrs=dbase.openRecordset("nombre de tabla", dbopenDynaset)

rs.findfirst"nombre de campo= ' "Text.Text"'"′Text.Text es la palabra clave ingresada

ifrs.Nomatch=Truethen

Msgbox"Lo sentimos, no existe tal registro"

else

Fori=0to11

label(i).caption=rs.Fields(i)""

Siguiente

Endif

rs.close

EndSub

Lo anterior es solo una introducción aproximada a algunos de los usos más comunes y típicos de DAO. Para dominarlo verdaderamente es necesario. esfuerzos incansables. Cuando comprenda bien DAO, también será de gran ayuda para aprender nuevos RDO y ADO. Y DAO y ADO se pueden usar al mismo tiempo. La desventaja de DAO es que la función de búsqueda no es potente ni tan conveniente como ADO, pero la creación dinámica de bases de datos es mucho mejor que ADO, por lo que a veces la combinación de los dos. es más poderoso. Creemos que DAO definitivamente lo ayudará a ahorrar un tiempo valioso y brindará comodidad para su trabajo.