Usando el control ADOData
El control ADOData utiliza Microsoft ActiveX Data Objects (ADO) para establecer rápidamente una conexión entre un control vinculado a datos y un proveedor de datos. Un control vinculado a datos es cualquier control que tenga una propiedad DataSource. El proveedor de datos puede ser cualquier fuente de datos que cumpla con la especificación OLEDB. También puede crear fácilmente proveedores de datos de subconjuntos utilizando los módulos de clase de Visual Basic.
Aunque puede usar objetos de datos ActiveX directamente en su aplicación, el control ADOData tiene las ventajas de ser un control gráfico (con botones "adelante" y "atrás") y una interfaz fácil de usar que le permite usar código mínimo. una aplicación de base de datos.
En la "Caja de herramientas" de Visual Basic, se pueden utilizar muchos controles como controles vinculados a datos, incluidas casillas de verificación, cuadros combinados, imágenes, etiquetas, cuadros de lista, cuadros de imagen y controles de cuadro de texto. Además, Visual Basic también incluye varios controles ActiveX de enlace de datos, como los controles DataGrid, DataCombo, Chart y DataList. Los usuarios también pueden crear sus propios controles ActiveX vinculados a datos o comprar controles de otros desarrolladores.
Las versiones anteriores de Visual Basic proporcionaban controles de datos intrínsecos y controles RemoteData (RDC) para el acceso a los datos. Ambos controles todavía están incluidos en Visual Basic para proporcionar compatibilidad con versiones anteriores. Sin embargo, debido a que ADO es más adaptable, se recomienda que los usuarios utilicen el control ADOData para crear nuevas aplicaciones de bases de datos.
Más información Encontrará una lista completa de controles vinculados a datos en "Controles vinculados a controles ADOData". Para aprender a utilizar estos controles de datos intrínsecos o el control RemoteData, consulte "Usar controles de datos" o "Usar controles RemoteData". Para obtener más información sobre la creación de proveedores de datos, consulte "Creación de clases de reconocimiento de datos".
Posible uso
Conéctese a una base de datos local o remota.
Abre una tabla de base de datos especificada o define un conjunto de registros basados en una consulta de lenguaje de consulta estructurado (SQL), un procedimiento almacenado o una vista de una tabla en la base de datos.
Pase los valores de un campo de datos a controles vinculados a datos, donde se pueden mostrar o cambiar.
Agregue nuevos registros o actualice una base de datos en función de cualquier cambio en los datos mostrados en el control vinculado.
Para crear un cliente o una aplicación de base de datos front-end, agregue el control ADOData al formulario, así como cualquier otro control de Visual Basic requerido. Puede colocar varios controles ADOData en un formulario según sus necesidades. Sin embargo, tenga en cuenta que este control es una forma bastante "cara" de crear conexiones y debe usarse cuando el primer control tiene al menos dos conexiones y cada control posterior tiene al menos una conexión más.
Cree una aplicación de base de datos front-end con código mínimo
Al establecer algunas propiedades en tiempo de diseño, puede crear una aplicación de base de datos con un código mínimo. Si está utilizando una fuente de datos OLEDB, se debe crear el correspondiente Microsoft DataLinkName (.MDL) en su máquina. Consulte "Creación de OLEDBDataLink de Northwind" para ver un ejemplo paso a paso.
Para crear una aplicación de base de datos front-end sencilla:
1. Coloque un control ADOData en el formulario (la información sobre herramientas del icono es ADODC). Si el control no está en la "Caja de herramientas", presione la tecla CTRL T para mostrar el cuadro de diálogo "Partes". En el cuadro de diálogo Componentes, haga clic en MicrosoftADODataControl.
2. En la "Caja de herramientas", haga clic para seleccionar "ADOData Control". Luego presione la tecla F4 para mostrar la ventana Propiedades.
3. En la ventana Propiedades, haga clic en ConnectionString para mostrar el cuadro de diálogo ConnectionString.
4. Si ha creado un archivo Microsoft DataLink (.MDL), seleccione "Usar archivo OLEDB" y haga clic en "Examinar" para ubicar el archivo en su computadora. Si usa un DSN, haga clic en Usar nombre de fuente de datos ODBC y seleccione un DSN en el cuadro, o haga clic en Nuevo para crear uno. Si desea crear una cadena de conexión, seleccione Usar cadena de conexión, haga clic en Generar y luego use el cuadro de diálogo Propiedades del enlace de datos para crear una cadena de conexión. Después de crear la cadena de conexión, haga clic en Aceptar. La propiedad ConnectionString se completará con una cadena similar a la siguiente línea:
controlador={SQLServer};servidor=bigsmile;uid=sa;pwd=pwd;database=pubs
5. En la ventana "Propiedades", establezca la propiedad "Fuente de registro" en una declaración SQL. Por ejemplo: SELECT*FROMTitlesWHEREAuthorID=72 Al acceder a una tabla, siempre debe incluir una cláusula WHERE. De no hacerlo, se bloquearía toda la tabla, lo que supondría un grave impedimento para otros usuarios.
6. Coloque otro control "Cuadro de texto" en el formulario para mostrar información de la base de datos.
7. En su ventana "Propiedades", establezca la propiedad "Fuente de datos" de Texto1 con el nombre del control ADOData (ADODC1). Esto une el cuadro de texto y el control ADOData.
8. En su ventana "Propiedades", haga clic en "Campos de datos" para obtener una lista desplegable de campos disponibles. Haga clic en el nombre del campo que desea mostrar.
9. Repita los pasos 6, 7 y 8 para cada uno de los campos a los que desee acceder.
10. Presione la tecla F5 para ejecutar la aplicación. El usuario puede usar los cuatro botones de flecha en el control ADOData, lo que le permite llegar al principio de los datos, al final del registro o pasar de un registro a otro dentro de los datos.
Configure ConnectionString, Source, DataSource y DataField en el programa. El siguiente código demuestra cómo configurar estas cuatro propiedades en el programa. Tenga en cuenta que debe utilizar la instrucción Set para establecer la propiedad DataSource.
PRivateSubForm_Load()
ConADODC1
.ConnectionString=controlador={SQLServer};&_
servidor=bigsmile;uid=sa;pwd=pwd;database=pubs
.RecordSource=Seleccionar*FromTitlesWhereAuthorID=7
terminar con
SetText1.DataSource=ADODC1
Text1.DataField=Título
FinSub
Eventos de control de ADOData
El control ADOData proporciona varios eventos programables. La siguiente tabla describe estos eventos y cuándo ocurren, pero esta tabla no es una lista completa de todas las condiciones en las que ocurren estos eventos. Para obtener información más completa, consulte los temas de referencia de eventos individuales.
Para obtener más información, si está intentando utilizar el control ADOData paso a paso, consulte "Creación de una aplicación de base de datos simple utilizando DataGrid y el control de datos ADO", "Creación de una aplicación DataCombo simple" y "Creación de un DataGrid conectado a una lista de datos". Control."
Establecer propiedades relacionadas con la base de datos del control ADOData
Al crear una conexión, puede utilizar una de tres fuentes: una cadena de conexión, un archivo OLEDB (.MDL) o un nombre de fuente de datos ODBC (DSN). Cuando utiliza DSN, no necesita cambiar ninguna otra propiedad del control.
Sin embargo, si sabe más sobre la tecnología de bases de datos, puede cambiar algunas otras propiedades que aparecen en el control ADOData. La siguiente lista describe algunas de las propiedades relacionadas con la base de datos de este control. Esta lista también sugiere el orden lógico en el que establecer estas propiedades.
Tenga en cuenta que la tecnología de bases de datos es compleja y las siguientes sugerencias no deben considerarse reglas.
1.ConnectionString: la propiedad ConnectionString es una cadena que puede contener todos los valores de configuración necesarios para establecer una conexión. Los parámetros pasados en esta cadena son específicos del controlador. Por ejemplo, el controlador ODBC permite que la cadena contenga el controlador, proveedor, base de datos predeterminada, servidor, nombre de usuario, contraseña, etc.
2.UserName: el nombre del usuario cuando la base de datos está protegida con contraseña, es necesario especificar este atributo. De manera similar a la propiedad Proveedor, esta propiedad se puede especificar en ConnectionString. Si se proporcionan una propiedad ConnectionString y una propiedad UserName, el valor de ConnectionString anulará el valor de la propiedad UserName.
3.PassWord: también se requiere al acceder a una base de datos protegida. De manera similar al atributo Proveedor y al atributo Nombre de usuario, si se especifica una contraseña en el atributo Cadena de conexión, se sobrescribirá el valor especificado en este atributo.
4.RecordSource: esta propiedad generalmente contiene una declaración que se utiliza para determinar qué información recuperar de la base de datos.
5.CommandType: el atributo CommandType le indica al proveedor de datos si el atributo Fuente es una declaración SQL, el nombre de una tabla, un procedimiento almacenado o un tipo desconocido.
6.CursorLocation: este atributo especifica la ubicación del cursor, ya sea en el cliente o en el servidor.
superior. Esta decisión afectará la configuración de las siguientes propiedades.
7.CursorType: el atributo CursorType determina si el conjunto de registros es un tipo estático, un tipo dinámico o un tipo de cursor de conjunto de claves.
8.LockType: la propiedad LockType determina cómo se bloquean los datos que está editando cuando alguien intenta cambiarlos. Cómo configurar esta propiedad LockType es una decisión compleja que depende de múltiples factores.
9.Modo: el atributo Modo determina qué operaciones desea realizar con el conjunto de registros. Por ejemplo, si solo desea crear un informe, puede obtener mejoras de rendimiento estableciendo esta propiedad en solo lectura.
10.MaxRecords: esta propiedad determina el tamaño del cursor. La forma en que se determina el valor de esta propiedad depende del tamaño de los registros que se recuperan y de la cantidad de recursos disponibles (memoria) en la computadora. Un registro grande (que incluye muchas columnas y cadenas largas) cuesta más recursos que un registro pequeño. Por tanto, la propiedad MaxRecords no puede ser demasiado grande.
11.ConnectionTimeout: establezca el tiempo de espera para establecer una conexión, en segundos. Si la conexión se agota, se devuelve un error.
12.CacheSize: el atributo CacheSize especifica cuántos registros se pueden recuperar del cursor. Si CursorLocation se establece en el cliente, esta propiedad solo se puede establecer en un número pequeño (quizás 1) sin ningún efecto adverso. Si la posición del cursor está en el lado del servidor, puede ajustar este número al número de filas que desea poder ver a la vez. Por ejemplo, si usa el control DataGrid para ver 30 filas, puede configurar CacheSize en 60 para poder desplazarse sin recuperar más datos.
13.BOFAction, EOFAction: estas dos propiedades determinan el comportamiento del control cuando está al principio y al final del cursor. Las opciones disponibles incluyen permanecer al principio o al final, pasar al primer o último registro o agregar un nuevo registro (solo al final).
Controles vinculados al control ADOData
Cualquier control con una propiedad DataSource se puede vincular a un control ADOData. Los siguientes controles intrínsecos se pueden vincular al control ADOData:
Caja
Cuadro combinado
Imagen
Etiqueta
Cuadro de lista
cuadro de imagen
Cuadro de texto
Los siguientes controles ActiveX vinculados a datos también están disponibles en todas las versiones de Visual Basic:
Lista de datos
Combinación de datos
Cuadrícula de datos
MicrosoftHierarchicalFlexGrid
Cuadro de texto enriquecido
MicrosoftGráfico
Selector de fecha y hora
ImagenCombo
VistaMes
Finalmente, los usuarios pueden crear sus propios controles ActiveX vinculados a datos utilizando objetos DataBinding.
Para obtener más información sobre cómo crear sus propios controles vinculados a datos, consulte "Creación de controles de usuario vinculados a datos".
->