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 p>
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.