Compartir a través de


Menú Archivo en una aplicación de base de datos MFC

Si crea una aplicación de base de datos MFC y no usa la serialización, cómo debe interpretar los comandos Abrir, Cerrar, Guardar y Guardar como en el menú Archivo Aunque no hay directrices de estilo para esta pregunta, estas son algunas sugerencias:

  • Elimine completamente el comando Abrir del menú Archivo.

  • Interprete el comando Abrir como "base de datos abierta" y muestre al usuario una lista de orígenes de datos que reconoce la aplicación.

  • Interprete el comando Abrir como, quizás, "perfil abierto". Conserve Open para abrir un archivo serializado, pero use el archivo para almacenar un documento serializado que contenga información de "perfil de usuario", como las preferencias del usuario, incluido su identificador de inicio de sesión (opcionalmente excluyendo la contraseña) y el origen de datos con el que trabajó más recientemente.

El Asistente para aplicaciones MFC admite la creación de una aplicación sin comandos de menú Archivo relacionados con documentos. Seleccione la opción Vista de base de datos sin compatibilidad con archivos en la página Compatibilidad con bases de datos .

Para interpretar un comando de menú Archivo de forma especial, debe invalidar uno o varios controladores de comandos, principalmente en la CWinAppclase derivada. Por ejemplo, si invalida OnFileOpen por completo (que implementa el ID_FILE_OPEN comando) para indicar "open database:"

  • No llame a la versión de clase base de OnFileOpen, ya que va a reemplazar completamente la implementación predeterminada del marco del comando.

  • Use el controlador en su lugar para mostrar un cuadro de diálogo en el que se enumeran los orígenes de datos. Puede mostrar este cuadro de diálogo llamando a CDatabase::OpenEx o CDatabase::Open con el parámetro NULL. Se abre un cuadro de diálogo ODBC que muestra todos los orígenes de datos disponibles en el equipo del usuario.

  • Dado que las aplicaciones de base de datos normalmente no guardan un documento completo, es probable que quiera quitar las implementaciones Guardar y Guardar como a menos que use un documento serializado para almacenar información de perfil. De lo contrario, puede implementar el comando Save como, por ejemplo, "commit transaction". Consulte la Nota técnica 22 para obtener más información sobre cómo invalidar estos comandos.

Consulte también

Serialización: Serialización frente a entrada/salida de bases de datos