📄 client.cpp
字号:
#include <WINDOWS.H>
#include <mysql.h>
#include <QApplication>
#include <QTextEdit>
#include <QString>
#include <QDateTime>
#include <QTextCodec>
#include <QDebug>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QTextEdit display; display.resize(400, 160);
display.show(); // 下面进行数据库的设置
char szTargetDSN[] = "kgdb";
char szSqlText[500] = "";
char aszFlds[ 25 ][ 25 ];
char szTmp[200];
char szBuff[100];
MYSQL * myData ;
MYSQL_RES * res ;
MYSQL_FIELD * fd ;
MYSQL_ROW row ;
int i,j,k;
BOOL bCreate = TRUE;
QString value;
QTextCodec *codec;
codec=QTextCodec::codecForName("ISO 8859-1");
if ( (myData = mysql_init((MYSQL*) 0)) //初始化数据结构
&& mysql_real_connect( myData, NULL, //连接数据库
"test", "lflzyb", szTargetDSN,
MYSQL_PORT, NULL, 0 ) )
{
mysql_set_character_set(myData, "ISO 8859-1");
sprintf(szSqlText, "select * from employee");
if (mysql_query( myData, szSqlText))
//进行数据检索
{
//执行SQL语句出错
display.append("Execute sql statement fail");
mysql_close( myData ) ;
}
else
{
display.append("===========================================");
display.append(QString::fromLocal8Bit(" id | 姓名 | 生日 | 电话"));
display.append("--------------------------------------");
res = mysql_store_result( myData );
//取得查询结果
i = (int) mysql_num_rows( res );
//取得有效记录数
sprintf(szTmp, "Query: %s\n%ld records found: \n", szSqlText, i ) ;
display.append(szTmp);
for ( i = 0 ; fd = mysql_fetch_field( res ); i++ )
strcpy( aszFlds[ i ], fd->name ) ;
//取得各字段名
for (i=1; row = mysql_fetch_row( res ); )
//依次读取各条记录
{
j = mysql_num_fields( res ) ;
//取得记录中的字段数
sprintf( szTmp, "Record #%ld:-\n", i++ ) ;
display.append(szTmp);
for ( k = 0 ; k < j ; k++ )
{
//输出各字段的值
if(row[k]==NULL || strlen(row[k]) == 0)
{
row[k] = "NULL";
}
else
{
value = row[k];
}
sprintf( szTmp, " Fld #%d (%s):", k + 1, aszFlds[ k ]) ;
display.append(szTmp);
display.append(QString::fromLocal8Bit(row[k]));
display.append("\n");
}
display.append( "==============================\n" ) ;
}
mysql_free_result( res ) ;
}
}
else
{//连接数据库出错
display.append("Can't connect to the mysql server ") ;
mysql_close( myData ) ;
}
mysql_close( myData ) ;
QApplication::connect(&app, SIGNAL(lastWindowClose()), &app, SLOT(quit()));
return app.exec();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -