CDaoDatabase::Open
Debe llamar a esta función miembro para inicializar un objeto recientemente construido de CDaoDatabase que representa una base de datos existente.
virtual void Open(
LPCTSTR lpszName,
BOOL bExclusive = FALSE,
BOOL bReadOnly = FALSE,
LPCTSTR lpszConnect = _T(
"" )
);
Parámetros
lpszName
Una expresión de cadena que es el nombre de un archivo de base de datos de Microsoft Jet (.MDB).Si el nombre de archivo tiene una extensión, se requiere.Si las admite para red la convención de nomenclatura uniforme (UNC), también puede especificar una ruta de acceso de red, como “\\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB.MDB”.(Las barras diagonales inversas dobles se requieren en literales de cadena porque “carácter de escape \" is the C ++.)Algunas consideraciones se aplican al utilizar lpszName.Si éste:
Hace referencia a una base de datos que ya está abierto para acceso exclusivo de otro usuario, tiros MFC una excepción de CDaoExceptionescrito.Intercepte esa excepción para permitir al usuario saber que la base de datos no está disponible.
Es una cadena vacía ("") y el lpszConnect es “ODBC; ”, un cuadro de diálogo que muestra todos los nombres registrados de origen de datos ODBC se muestra lo que el usuario puede seleccionar una base de datos.Debe evitar las conexiones directas a los orígenes de datos ODBC; utilice una tabla asociada en su lugar.
Si no hace referencia a una base de datos o el nombre válido de origen de datos ODBC, MFC produce una excepción de CDaoExceptionescrito.
[!NOTA]
Para obtener más información sobre los códigos de error de DAO, vea el archivo de DAOERR.H.Para obtener información relacionada, vea el tema “errores de Trappable” en la Ayuda de DAO.
bExclusive
Un valor booleano que es TRUE si la base de datos a abrirse para el acceso (no compartida) exclusivo y FALSE si la base de datos a abrirse para el acceso compartido.Si se omite este argumento, la base de datos se abre para el acceso compartido.bReadOnly
Un valor booleano que es TRUE si la base de datos a abrirse para acceso de sólo lectura y FALSE si la base de datos a abrirse para el acceso de lectura y escritura.Si se omite este argumento, la base de datos se abre para el acceso de lectura y escritura.Todos los conjuntos de registros dependientes heredan este atributo.lpszConnect
Una expresión de cadena utilizado para abrir la base de datos.Esta cadena constituye los argumentos se conectan ODBC.Debe proporcionar argumentos exclusivos y de solo lectura para proporcionar una cadena de origen.Si la base de datos es una base de datos de Microsoft Jet (.MDB), esta cadena está vacía ("").La sintaxis para el valor predeterminado — _T("") proporciona la portabilidad para Unicode junto con las compilaciones de ANSI de la aplicación.
Comentarios
Open asocia la base de datos al objeto subyacente de DAO.No puede utilizar el objeto de base de datos al conjunto de registros de construcción, a definición, o los objetos de tabla hasta que se inicializa.Open anexa el objeto de base de datos a la colección de bases de datos del área de trabajo asociada.
Utilice los parámetros como sigue:
Si está abriendo una base de datos de Microsoft Jet (.MDB), utilice el parámetro de lpszName y pase una cadena vacía para el parámetro de lpszConnect o pasar una cadena de contraseña del formulario “; PWD=password” si la base de datos está protegido mediante contraseña (las bases de datos de .MDB solo).
Si está abriendo un origen de datos ODBC, pase una cadena de conexión ODBC válida en lpszConnect y una cadena vacía en lpszName.
Para obtener información relacionada, vea el tema “método de OpenDatabase” en DAO Help.
[!NOTA]
Para un mejor rendimiento cuando se recomienda el acceso de las bases de datos externas, incluidas las bases de datos ISAM y orígenes de datos ODBC, sino que se asocia las tablas de base de datos externas a una base de datos del motor de Microsoft Jet (.MDB) en lugar de conectándose directamente con el origen de datos.
Es posible que un intento de conexión al tiempo de espera si, por ejemplo, el host DBMS no está disponible.Si el intento de conexión, Open produce una excepción de CDaoExceptionescrito.
Las notas restantes se aplican sólo a las bases de datos ODBC:
Si la base de datos es una base de datos ODBC y los parámetros en la llamada de Open no contienen información suficiente para crear la conexión, el controlador ODBC abre un cuadro de diálogo para obtener la información necesaria del usuario.Cuando se llama a Open, la cadena de conexión, lpszConnect, se almacena privado y está disponible llamando a la función miembro de GetConnect .
Si se deseo, puede abrir dispone del cuadro de diálogo antes de llamar a Abrir para recopilar información del usuario, como una contraseña, después agregarlo que información en la cadena de conexión que se pasa a Abrir.O tal vez desee guardar la cadena de conexión que se pasa (quizás en el Registro de Windows) de modo que puede reutilizarse la próxima vez que las llamadas Open de aplicación en un objeto de CDaoDatabase .
También puede usar la cadena de conexión para varios niveles de autorización de inicio de sesión (cada uno para otro objeto de CDaoDatabase ) o mostrar otra información base de datos- concreta.
Requisitos
encabezado: afxdao.h