¿Cómo crear una base de datos de inicio de sesión de usuario para software escrito en VC?
#include "winsock.h"// Si se produce un error de compilación, coloque esta línea en #include "mysql .h" antes.
#pragma comment(lib, "libmySQL.lib")//Si se ha agregado a las dependencias adicionales, no lo agregue nuevamente (5) Se recomienda copiar "libmySQL.lib, libmySQL .dll" en el directorio del proyecto que se está creando. MYSQL mysql; // identificador de conexión de la base de datos
mysql_init (amp;mysql);
if(!mysql_real_connect(amp;mysql, "localhost", "root", NULL, "mydb) ", 3306.NULL, 0)) {//mydb es la base de datos que creó, 3306 es el número de puerto, puede configurarlo usted mismo
AfxMessageBox("Error en la conexión de la base de datos");
devuelve FALSO;
}. 1) Implemente las funciones agregadas CString strUsername, strList, strRemark, strSQL;
strSQL.Format("insert into mytable").
Format("insert into mytable(username,visitelist,remark) value(\'s\',\'s\',\'s\')", strUsername, strList, strRemark //Tenga en cuenta que debe escribirse); en una línea y debe tener\'\'
if(mysql_real_query(amp;mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())!GetLength())! 0){
AfxMessageBox("Error al agregar");
}
(2) Implementar la función de modificación CString strUsername, strList, strRemark, strSQL, str_PreName ; //str_PreName se utiliza para registrar las filas que se modificarán; consulte el código fuente para obtener más detalles
strSQL.Format("update mytable set nombre de usuario=\'s\', visitelist=\'s\ ', comentario=\ 's\' donde nombre de usuario=\'s\'", strUsername, strList, strRemark, str_PreName);
if(mysql_real_query(amp;mysql, (char*)(LPCTSTR) strSQL, (UINT) strSQL.GetLength())! =0){
AfxMessageBox("Error al modificar");
}(3) Ejecute la función de eliminación CString strSQL;
strSQL.Format("eliminar de mytable donde nombre de usuario=\'s\'", str_ PreName //debe tener \'\'
if(mysql_real_query(amp; mysql, (char*) (LPCTSTR)strSQL, (UINT)strSQL.GetLength())! = 0){
AfxMessageBox("Error en la eliminación"); ) Leer el contenido de la tabla en el control CListCtrl m_listm_list.DeleteAllItems();
char *ch_query
ch_query=" select * from mytable"
if( mysql_real_query(amp; mysql, ch_query, (UINT) strlen (ch_query))! = 0){
AfxMessageBox("Error con la tabla en la base de datos");
}
CString str
MYSQL_RES *resultado; ;
fila MYSQL_ROW;
if(!(result=mysql_use_result(amp;mysql))){
AfxMessageBox("Error al leer los datos
et");
}
int i=0;
while(row=mysql_fetch_row( resultado)){
str. Format("s", fila[0]);
m_list.InsertItem(i, str);
str.Format("s", fila[1]);
m_list.SetItemText(i, 1, str);
str.Format("s", fila[2]); , 2, str);
i;
}
mysql_free_result(resultado); (5) Cerrar la base de datos mysql_close(amp;mysql); most Es mejor escribir la función OnDestroy()
.