连小记

lxf2023-07-25 08:50:02

MySQL是开源的,在网上下载MySQL Dowload很容易。我下载的是WINDOWS版本,安装很简单,这里就不多说了,但是别忘了下载管理工具。米(meter的缩写))

据说MySQL性能不错,我准备测试一下。如果效果好,我就把数据库改成MySQL。但没想到用了两个小时。唉!不过还好,现在都解决了。好了,现在写下你在这里的前两个小时学到的东西,以备不时之需。

MySQL是开源的,在网上下载MySQL Dowload很容易。我下载的是WINDOWS版本,安装很简单,这里就不多说了,但是别忘了获取下一个管理工具。MySQL没有MSSQL这样的图形界面管理工具,图形界面程序只带来了重新配置MySQL的MySQLInstanceConfig.exe。剩下的就是一堆命令行程序。说到重新配置MySQL,我得提醒你,如果MySQLInstanceConfig.exe在启动服务的最后一步停下来报错,请重新安装MySQL。再怎么配置也过不了那一步。但是,你应该可以手动修改,但是我不懂。直接重装就行了。有很多MySQL管理工具和PHP版本。我使用MySQL GUI工具5.0。

MySQL有一个API接口提供c,当然我会直接用,因为据说比ADO快。在MySQL的安装目录下,你会找到include和lib文件夹(完全安装模式下),分别是C接口的头文件和库文件。对库文件使用libmysql.lib即可。如果使用头文件,只需要在代码中引用mysql.h即可。当然,mysql.h在编译的时候也引用了同一个目录下的其他文件,所以我把include文件夹里的文件都复制到了VC++的include文件夹里,只把libmysql.lib复制到了VC++的lib文件夹里。

我新构建了一个MFC程序,因为MySQL需要网络支持,所以我必须在MFC程序创建向导中选择“Windows sockets”,否则编译时会报错SOCKET相关的错误(我在这里折腾了半个小时关于-。-||| |).MySQL.h必须在windows.h和sockets的头文件后面加引号。我把它放在了MFC中stdafx.h的最后一行。最后,不要忘记在连接器参数中添加libmysql.lib的连接,否则会报错:没有声明XXX函数。

以下是我使用的MySQL函数:

QUOTE: MYSQL* mysql_init(NULL) //初始化一个MYSQL对象,下面的操作中会用到这个对象。

MYSQL * MYSQL _ real _ connect(MYSQL * MYSQL,const char *host,const char *user,const char *passwd,const char *db,unsigned int port,Constchar * unix_socket,unsigned long client_flag)//建立连接,其中db是要访问的数据库,unix_socket和client _ flag通常为NULL。如果连接成功,将返回第一个参数,否则将失败。

Intmysql _ query (MySQL * MySQL,const char * stmt _ str)//执行查询,成功返回0。

MySQL _ RES * MySQL _ Store _ Result(MySQL * MySQL)//获取查询返回的结果集,失败返回0。

unsigned int MySQL _ num _ fields(MySQL _ RES * result)//获取返回结果集的字段数。

MYSQL _ row MYSQL _ fetch _ row(MYSQL _ RES * result)//获取一行记录,并将其移动到下一条记录。当返回NULL时,将遍历所有行或发生错误。MySQL _ row是一个下标为[0,columnLength-1]的字符串数组。

void MySQL _ free _ result(MySQL _ RES * result)//释放结果集。

Void mysql_close(MYSQL *mysql) //关闭连接。

下面是具体代码(很粗糙,是测试)

报价:1 MYSQL mysql2 MySQL _ init(& MySQL);3 ASSERT(MySQL _ real _ connect(& MySQL," 127.0.0.1 "," alacky "," password "," Test ",3306,0,0));4 ASSERT(mysql_query(&mysql," SELECT * FROM maxTest ")= = 0);5 MYSQL _ RES *结果;6 result = MySQL _ store _ result(& MySQL);7 MYSQL_ROW行;8 ULONG colLen = mysql_num_fields(结果);9 CString datas =10 while(row = MySQL _ fetch _ row(result))//遍历每一行记录11 { 12 for(ULONG I = 0;i 13 {14 datas += row?行:“空”;15个数据+= " \ t ";16 } 17 datas+= " \ n \ n ";18 }19 mysql_free_result(结果);20 MySQL _ close(& MySQL);

adminjs.cn是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 Adminjs.cn还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 在Adminjs.cn中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!