Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% encontró este documento útil (0 votos)
49 vistas3 páginas

Manual PracticoVB NET 2017

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 3

14/6/2018 Cómo utilizar el método OpenSchema de ADO en Visual Basic

Cómo utilizar el método OpenSchema de ADO en


Visual Basic

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft
(http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor
humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de
conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la
sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier
imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes.
Microsoft suele actualizar el software de traducción frecuentemente. Si ve errores y desea ayudar con este esfuerzo, rellene la encuesta en la
parte inferior de este artículo.
Ver el artículo original en inglés: 186246

Para una versión de Microsoft Visual Basic .NET de este artículo, consulte
309488 .

Resumen

Este artículo describe cómo utilizar el método OpenSchema del objeto Connection de ActiveX Data Objects (ADO) para obtener
más información acerca de la base de datos o una tabla.

La sintaxis de OpenSchema es a continuación:


Establecer el conjunto de registros = conexión. OpenSchema (QueryType, criterios, SchemaID)

Más información

Aquí están los tres parámetros para el método OpenSchema:


Un valor enumerado que especifica el tipo del esquema necesario. Algunos ejemplos son adSchemaPrimaryKeys,
adSchemaTables, adSchemaColumns.

Una matriz variant. El número de elementos y el contenido de esta matriz depende del tipo de consulta de esquema
para que se ejecute. Puede utilizar este parámetro para restringir el número de filas que devuelven en el conjunto de
resultados. Sin embargo, no puede limitar el número de columnas que se devuelven mediante OpenSchema. El miembro
de la matriz de criterios indica los valores de cadena para restringir los resultados de la consulta. El número de los
miembros de la matriz varía según el querytype.

El tercer parámetro varía según el proveedor que utilice. Es necesario sólo si se establece el primer parámetro
adSchemaProviderSpecific; de lo contrario, no se utiliza.

A continuación se muestran los parámetros de ejemplo para OpenSchema. Tenga en cuenta que los criterios se cambia con el
querytype. Lo más importante que debe recordar es que el orden de proporcionar los valores tiene que ser el mismo. Es una
lista de los criterios correspondientes para otros querytypes en la documentación en pantalla que se encuentra en la siguiente
dirección URL:
http://msdn2.microsoft.com/en-us/library/ms805098.aspx

QueryType Criteria
=============================

adSchemaTables TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
TABLE_TYPE

Utilice adSchemaTables para enumerar las tablas de una base de datos.

Microsoft Access 97 y Access 2000

Para obtener una lista de las tablas y consultas en la base de datos de Microsoft Access NWind, simplemente utilice el código
siguiente:

Set rs = cn.OpenSchema(adSchemaTables)
While Not rs.EOF
Debug.Print rs!TABLE_NAME
rs.MoveNext
Wend

Para mostrar sólo las tablas de la base de datos de Access Nwind, utilice:

Set rs = cn.OpenSchema(adSchemaTables, _
Array(Empty, Empty, Empty, "Table")

Utilice la misma sintaxis, utilizando el proveedor OLE DB para ODBC con el controlador ODBC de Jet y el uso de los proveedores
OLE DB de Jet.

Microsoft SQL Server 6.5 y 7.0

Para obtener una lista de las tablas y vistas en la base de datos Pubs de Microsoft SQL Server, utilice:

Set rs = cn.OpenSchema(adSchemaTables)

Para mostrar sólo las tablas de la base de datos Pubs de Microsoft SQL Server, utilice:

Set rs = cn.OpenSchema(adSchemaTables, _
Array("Pubs", Empty, Empty, "Table")

Utilice la misma sintaxis que utiliza el proveedor OLE DB para ODBC con el controlador ODBC de SQL Server y utiliza el
proveedor OLE DB para SQL Server.

QueryType Criteria
===============================

https://support.microsoft.com/es-es/help/186246/how-to-use-the-ado-openschema-method-in-visual-basic 1/3
14/6/2018 Cómo utilizar el método OpenSchema de ADO en Visual Basic

adSchemaColumns TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME

Utilice adSchemaColumns para mostrar los campos de una tabla.

Microsoft Access 97 y Access 2000

Para mostrar los campos de la tabla Employees de la base de datos de Access Nwind con adSchemaColumns, simplemente
utilice:

Set rs = cn.OpenSchema(adSchemaColumns,Array(Empty, Empty, "Employees")

While Not rs.EOF


Debug.Print rs!COLUMN_NAME
rs.MoveNext
Wend

Esto funciona con el proveedor OLE DB para ODBC con el controlador ODBC de Jet y el uso con los proveedores OLE DB de Jet.

Microsoft SQL Server 6.5 y 7.0

Para mostrar los campos de la tabla Authors de la base de datos Pubs de SQL Server con adSchemaColumns, simplemente
utilice:

Set rs = cn.OpenSchema(adSchemaColumns, Array("pubs", "dbo", "Authors")

Tenga en cuenta que TABLE_CATALOG es la base de datos y TABLE_SCHEMA es propietario de la tabla. Esto funciona con el
proveedor OLE DB para ODBC con el controlador ODBC de SQL Server y utiliza el proveedor OLE DB para SQL Server.

QueryType Criteria
================================

adSchemaIndexes TABLE_CATALOG
TABLE_SCHEMA
INDEX_NAME
TYPE
TABLE_NAME

Proporcionar el nombre del índice en el caso de querytype adSchemaIndexes.

Microsoft Access 97 y Access 2000

Para mostrar los índices de la tabla Employees de la base de datos de Access Nwind con adSchemaIndexes, simplemente utilice:

Set rs = cn.OpenSchema(adSchemaIndexes, _
Array(Empty, Empty, Empty, Empty, "Employees")

While Not rs.EOF


Debug.Print rs!INDEX_NAME
rs.MoveNext
Wend

Esto funciona con el proveedor OLE DB para ODBC con el controlador ODBC de Jet y el uso con los proveedores OLE DB de Jet.

Microsoft SQL Server 6.5 y 7.0

Para mostrar los índices de la tabla Authors de la base de datos Pubs de SQL Server con adSchemaIndexes, simplemente utilice:

Set rs = cn.OpenSchema(adSchemaIndexes, _
Array("Pubs", "dbo", Empty, Empty, "Authors")

Esto funciona con el proveedor OLE DB para ODBC con el controlador ODBC de SQL Server y utiliza el proveedor OLE DB para
SQL Server. Los pasos siguientes demuestran el método OpenSchema.

Ejemplo del método OpenSchema

En Visual Basic (VB), seleccione un proyecto EXE estándar. Agregue tres botones de comando para el proyecto EXE. En el menú
proyecto , elija referencias. En el cuadro de diálogo referencias, seleccione Biblioteca de objetos de Microsoft ActiveX. Este
ejemplo utiliza la base de datos Pubs que se proporciona con SQL Server. Debe cambiar el nombre de origen de datos (DSN) a
un DSN en el equipo. Pegue el código siguiente en la sección de declaraciones generales del proyecto:

Nota: Debe cambiar el UID = < username > y PWD = < contraseña segura > a los valores correctos antes de ejecutar este
código. Asegúrese de que el UID tiene los permisos apropiados para realizar esta operación en la base de datos.

'Open the proper connection.


Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

Private Sub Command1_Click()


'Getting the information about the columns in a particular table.
Set rs = cn.OpenSchema(adSchemaColumns, Array("pubs", "dbo", _
"authors"))
While Not rs.EOF
Debug.Print rs!COLUMN_NAME
rs.MoveNext
Wend

End Sub

Private Sub Command2_Click()


'Getting the information about the primary key for a table.
Set rs = cn.OpenSchema(adSchemaPrimaryKeys, Array("pubs", "dbo", _
"authors"))
MsgBox rs!COLUMN_NAME
End Sub

Private Sub Command3_Click()


'Getting the information about all the tables.
Dim criteria(3) As Variant
criteria(0) = "pubs"
criteria(1) = Empty
criteria(2) = Empty
criteria(3) = "table"
Set rs = cn.OpenSchema(adSchemaTables, criteria)
While Not rs.EOF
Debug.Print rs!TABLE_NAME

rs.MoveNext
Wend

End Sub
https://support.microsoft.com/es-es/help/186246/how-to-use-the-ado-openschema-method-in-visual-basic 2/3
14/6/2018 Cómo utilizar el método OpenSchema de ADO en Visual Basic

Private Sub Form_Load()


cn.Open "dsn=pubs;uid=<username>;pwd=<strong password>;"
'To test with the Native Provider for SQL Server, comment the
' line above then uncomment the following line. Modify to use
' your server.
'cn.Open "Provider=SQLOLEDB;Data Source=<servername>;" & _
' "User ID=sa;password=;"

End Sub

Ejecutar. Haga clic en cada botón de comando para probar. End.Modify el procedimiento de evento Form Load para utilizar el
proveedor nativo para SQL Server. Probar de nuevo. Más información sobre querytype y criterios está disponible en la
documentación de ADO. La información de esquema especificada en OLE DB se basa en la suposición de que el proveedor
admite el concepto de un catálogo y el esquema.

Referencias

Para obtener más información sobre OpenSchema, consulte los artículos siguientes en Microsoft Knowledge Base:

182831 cómo a utilizar el método OpenSchema de ADO de Visual C++

185979 cómo utilizar ADO para recuperar información de índice de tabla

Última actualización: 20 abr. 2018

https://support.microsoft.com/es-es/help/186246/how-to-use-the-ado-openschema-method-in-visual-basic 3/3

También podría gustarte