Programación integrada en Visual C SQL
¿Puedes ver si la información que encontré sobre los problemas que encontré al escribir es útil?
MFC se conecta a SQL SERVER (método ODBC)
1. Establecer una base de datos
Este paso es relativamente simple. Simplemente abra SQL Server Management Studio directamente y diseñe las tablas en la base de datos de acuerdo con sus propias necesidades, así como las dependencias entre ellas, etc. Para diseñar una base de datos perfecta, debe comprender los conceptos básicos de las bases de datos. No entraré en detalles aquí. Aquí asumimos que el nombre de nuestra base de datos es Test01
2. Configurar la fuente de datos
Una vez completado el diseño de la base de datos, son solo unas pocas tablas separadas a las que no podemos acceder en el programa. . Porque el programa no sabe dónde está la base de datos. Por tanto, es necesario establecer una conexión entre la aplicación y la base de datos.
En pocas palabras, configurar la fuente de datos significa crear una ventana externa para la base de datos, a través de la cual la aplicación puede acceder a los datos de la base de datos. Los pasos de configuración específicos son:
1) Abra el Panel de control-->Herramientas de administración-->Fuente de datos, seleccione "Agregar" en el panel DSN del usuario
2) En los datos controlador de origen Seleccione "SQL Server" --> Completo, es decir, abra "Crear una nueva fuente de datos para SQL Server"
3) Complete el nombre en "Nombre de la fuente de datos", completamos TestSQL01 y luego seleccione el servidor, donde selecciona el servidor SQL Server al que desea conectarse. (Si el servicio SQL Server en su computadora está activado, tendrá su propio nombre de host. O elija un servidor SQL en la red.
4) Haga clic en Siguiente para configurar la información de autenticación
5) Después de completar la configuración, haga clic en Siguiente, seleccione la casilla de verificación "Cambiar la base de datos predeterminada a" y seleccione la base de datos que acaba de crear para conectarse en la lista desplegable. (Este paso es muy importante. Generalmente, habrá varias bases de datos en un servidor. Si no cambia la base de datos predeterminada de la fuente de datos, la fuente de datos que cree se conectará a la base de datos predeterminada. Esto causará "nombre de objeto "al ejecutar sentencias SQL en el programa. Error no válido", es decir, no se puede encontrar la tabla de datos que especificó, etc.)
6) Después de seleccionar la base de datos, vaya al siguiente paso --> Completado para completar la configuración de la fuente de datos. A continuación, aparecerá información básica para configurar la fuente de datos. Puede utilizar "Probar fuente de datos" para comprobar si la fuente de datos está configurada correctamente.
3. Conexión a la base de datos
Después de establecer la base de datos y configurar la fuente de datos, puede acceder a la base de datos a través de la fuente de datos en el programa.
1) Primero, introduzca el archivo de definición de base de datos ODBC de MFC #include lt; afxdb.hgt
2) Defina el objeto de base de datos CDataBase, CDataBase m_db; > 3) Utilice la función OpenEx de la clase CDataBase para establecer una conexión con la base de datos;
m_db.OpenEx(_T("DSN=TestSQL01;"), CDatabase::noOdbcDialog);
/*TestSQL01 aquí está la fuente de datos establecida en el paso 2, y luego complete los parámetros de acuerdo con el formato de la función OpenEx, principalmente nombre de usuario, contraseña, etc. No hay configuración aquí, por lo que no hay*/
La conexión específica también necesita capturar las excepciones que puede generar OpenEx:
TRY
{
m_db.OpenEx(_T ("DSN=TestSQL01;"), CDatabase ::noOdbcDialog);
rs.m_pDatabase = amp;m_db;
}
CATCH(CDBException, ex )
{
AfxMessageBox(ex-gt; m_strError);
AfxMessageBox(ex-gt; m_strStateNativeOrigin);
}<; /p>
AND_CATCH(CMemoryException, pEx)
{
pEx-gt;ReportError();
AfxMessageBox(_T("excepción de memoria" ));
}
AND_CATCH(CException, e)
{
TCHAR szError[100];
e-gt; GetErrorMessage(szError, 100);
AfxMessageBox(szError);
}
END_CATCH
4. Operación de la base de datos
Después de completar los pasos anteriores, puede utilizar declaraciones SQL para operar la base de datos. Las operaciones básicas incluyen consultar, agregar, modificar, eliminar, etc. Aquí hablamos principalmente de consultas, otras operaciones son similares a los pasos de suma.
1) Consulta
Los pasos básicos de la consulta se pueden ver en el siguiente código:
CString sql = _T("SELECT Contraseña FROM UserInfo WHERE (UserID = 123") //sentencia SQL a ejecutar
CString psd; //Almacenamiento de resultados de la consulta
TRY
{
rs Open(AFX_DB_USE_DEFAULT_TYPE, sql); //Abrir registros de consulta
rs.GetFieldValue(_T("Contraseña"), psd //Obtener datos
}
CATCH(CDBException, ex)
{
AfxMessageBox(ex-gt; m_strError);
AfxMessageBox(ex-gt; m_strStateNativeOrigin); /p> p>
}
AND_CATCH(CMemoryException, pEx)
{
pEx-gt;ReportError();
AfxMessageBox (_T("excepción de memoria"));
}
END_CATCH
2) Inserción
Relativo a la consulta, insertar y eliminar, la operación de cambio es mucho más sencilla. CString sql = _T("USE Test01 INSERT UserInfo(UserID, UserName) VALUES(" 123, 'Bob');
intente
...{
m_db.ExecuteSQL(sql);
}
............