当前位置: 首页 > news >正文

奉贤网站建设上海站霸深圳公司网站搭建公司

奉贤网站建设上海站霸,深圳公司网站搭建公司,彩票网站多少钱可以做,国外开源网站建设软件下面我将介绍当需要用C语言开发能访问MySQL数据库的程序时成功配置的关键事项。 操作系统#xff1a;Windows 7 x64 编程环境#xff1a;Code::Blocks 10.05(32bit) 配置方式说明#xff1a;用C语言开发访问MySQL数据库至少有3种配置方式。 方式1#xff1a;使用MySQL C…下面我将介绍当需要用C语言开发能访问MySQL数据库的程序时成功配置的关键事项。 操作系统Windows 7 x64 编程环境Code::Blocks 10.05(32bit) 配置方式说明用C语言开发访问MySQL数据库至少有3种配置方式。 方式1使用MySQL Connector/C二进制发行版在运行C语言开发环境的机器中只用MySQL Connector/C不安装MySQL Server。这种方式的适用场合是本机不需要安装庞大的MySQL Server程序我们的C语言程序访问的数据库服务器程序在远程的某个主机上通过网络能访问到它数据库服务器程序不在本机。这种是轻量级方式。此时MySQL Connector/C 提供了头文件mysql.h静态链接库mysqlclient.lib动态链接库libmysql.dll。此外还提供了当需要动态链接库时的静态导入库libmysql.lib。 方式2使用MySQL Connector/C二进制发行版在运行C语言开发环境的机器中不装MySQL Connector/C但安装了MySQL Server。这种方式的使用场合是需要访问的目标数据库就在本机因此本机安装了MySQL Server。这种方式的Code::Blocks环境配置与方式1相同只是mysql.h所在的include目录以及libmysql.lib,libmysql.dll所在的lib目录的路径在MySQL Server的安装目录下。 以上两种方式中如果是你使用的是MySQL Connector/C Community版则需要预先安装Microsoft Visual C Redistributable forVisual Studio 2015至于是安装x64版还是x86版需要看你计算机的配置情况而定。 方式3使用MySQL Connector/C的源代码。将此源代码与你的C程序源代码一起编译。这种方式过程比较繁琐具体可参考MySQL官网相关文档https://dev.mysql.com/doc/connector-c/en/connector-c-installation-source.html 本文介绍的安装方式为方式1。 关键步骤和注意事项 1在MySQL官网上下载MySQL Connector/C的二进制发行版的zip包。请注意版本为win32版不要下载winx64版。建议不下载msi包因为该包是自动解压的Program File或Program File(x86)目录的MySQL目录下还不如自己解压到指定目录。 2将以上下载的mysql-connector-c-*.*.*-win32.zip压缩包解压到指定的文件夹。本例中解压在“C:\MySQL Connector C 6.1 for Win X32”目录下。 3新建Code::Blocks项目。 4配置编译时头文件mysql.h所在位置配置链接时所需的libmysql.lib,libmysql.dll所在位置。单击Code::Blocks菜单“Project”--Build Options...。弹出如下窗口。请选择左边框中的Debug这表示本项目的“Debug”配置。 然后设置需要连接的库文件所在位置。选择“Linker Settings”选项卡单击“Add”按钮选择刚才解压的MySQL Connectors/C压缩包解压后目录中的lib目录下的libmysql.lib。单击“确定”后如下图所示。 如果这一步没有配置后在编译时将提示无法解析程序中的MySQL API函数。 然后设置include目录和lib目录作为搜索路径。首先单击“Search directories”选显卡的“Compiler”子选项卡单击“Add”将MySQ  Connector/C解压目录下的include 目录添进来。这是mysql.h头文件所在位置。 如果程序运行时出现编译时找不到MySQL API中的函数的错误那一定是此步骤的mysql.h头文件所在的include 目录的位置没有配置好。 接下来请单击“Search directories”选显卡的“Linker”子选项卡单击“Add”将MySQ  Connector/C解压目录下的lib 目录添进来。这是libmysql.dll动态链接库文件所在位置。虽然静态链接库文件libmysql.lib也在此文件但是这个静态链接库在“Linker Settings”中已经进行了设置。 如果程序的编译通过了但是运行时出现如下错误那么一定是因为此步骤中libmysql.dll的搜索位置没有设置好。 请用如下代码测试 #include stdio.h #include winsock2.h //因为要进行网络连接 #include mysql.h //因为使用了MySQL C API访问mysql数据库 int main() {     MYSQL mysql; //mysql数据库连接     mysql_init(mysql);//初始化mysql连接     char host[]192.168.0.123;//MYSQL服务器的主机名或IP本机为localhost     char user[]user;//mysql数据库登录的用户名     char passwd[]123456;//mysql数据库登录的密码     char db[]mydatabase;//要连接的数据库名     unsigned int port3306;//MySQL服务器的TCP/IP端口号默认为3306     char *unixSocketNULL;//连接类型     unsigned int clientFlagCLIENT_FOUND_ROWS;//MySQL运行ODBC数据库的标记     MYSQL_RES *res_ptr; //指向查询结果的指针     MYSQL_FIELD *field; //指向字段结构体的指针     MYSQL_ROW result_row; //按行返回的select结果即一行记录。     int rowCnt, colCnt; //select结果返回的记录行数和列数     int res; //执行sql语句后的返回标志     int i, j;     //建立mysql连接     if (NULL ! mysql_real_connect(mysql,                                    host,                                    user,                                    passwd,                                    db,                                    port,                                    unixSocket,                                    clientFlag)) {         //连接成功         printf(数据库连接成功\n);         //设置查询编码为gbk,以支持中文         mysql_query(mysql, set names gbk);         char *sql;         sqlselect * from users; //请改为对自己数据的表进行查询的SQL语句。         res mysql_query(mysql, sql);         if (res) { //执行查询语句失败             printf(查询语句执行失败 !\n);             //关闭连接             mysql_close(mysql);         } else { //查询语句执行成功             //将查询的结果赋值给res_ptr             res_ptr mysql_store_result(mysql);             //如果记录集不为空就把每条记录按行输出             if (res_ptr) {                 //取得结果记录集的行数和字段数                 rowCnt mysql_num_rows(res_ptr);                 colCnt mysql_num_fields(res_ptr);                 printf(查询到 %d 行 \n, rowCnt);                 //输出记录的字段名                 for (i 0; field mysql_fetch_field(res_ptr); i)                     printf(%10s , field-name);                 printf(\n);                 //按行输出每条记录                 for (i 1; i rowCnt1; i) {                     result_row mysql_fetch_row(res_ptr);                     for (j 0; j colCnt; j)                         printf(%10s , result_row[j]);                     printf(\n);                 }             }             //最后不再使用数据库时请不要忘了关闭连接释放资源。             mysql_close(mysql);         }     } else {         printf(数据库连接失败);     }     return 0; } 有两个层面上的测试。 第一层测试CodeBlocks是否能正常编译使用MySQL Connector/C API的代码。 第二层测试数据库是否能被程序代码正常访问。 如果以上代码能够正常运行那就恭喜你配置和链接成功了。 如果程序编译通过了但是在运行时出现如下错误 那么极有可能是MySQL API与所需的VC2015Resdistribute 的版本不匹配。 经过验证正确的匹配模式是 32的gcc编译器  MySQL Connector/C32位的x86版 VC2015Resdistribute32位的x86版 以上组合就没有问题。其他组合可能有问题。 如下出现编译时找不到MySQL API中的函数的错误那一定是mysql.h头文件的位置没有配置好。
http://www.pierceye.com/news/247224/

相关文章:

  • 做类似淘宝的网站要多少钱亚马逊网站建设进度计划书
  • 够完美网站建设怎么把视频弄成超链接
  • 苏州网站建设哪家更好四川省建设工程信息网官网二建注册
  • 潍坊网站关键词推广湖南餐饮网站建设
  • 珠海网站建设优化推广win2008 iis7发布网站
  • 平安网站建设发挥了积极的作用wordpress 的数据库路径
  • 福州网站建设优化安阳县二中录取分数线2022
  • 如何建手机网站网站能否做二维码
  • 南京网站建设 雷仁网上海网站制作网络推广方法
  • 营销型网站怎么做安阳县有多少个乡镇
  • 网站评论 设计天气网站建设
  • 潍坊市住房和城乡建设局网站哈尔滨最新发布公告
  • 白云网站 建设信科网络制作网站软件网站
  • 房产网站的建设想发布oa网站 需要备案吗
  • 帮别人做钓鱼网站吗海口网站建设过程
  • 广州php网站建设做网站的公司推荐
  • 百度一下建设银行网站首页网上购物都有哪些网站
  • 装饰公司营销型网站建设idc服务器租赁
  • 广告投放跟网站建设一样吗视频网站能备案吗
  • 哪些网站可以找到兼职做报表的学校网站建设价格明细表
  • 域名购买哪个网站好wordpress 转载插件
  • 网站百度提示风险网站开发 安全
  • 厦门网站建设建网站如何做一个网页项目
  • 锦州市网站建设腾讯企点怎么群发
  • 移动端网站开发哪家好总结格式模板
  • 东山县建设银行网站民宿网站开发的开题报告
  • 北京企业网站seo平台社交网站模板下载
  • 旅游做攻略用什么网站wordpress破解版
  • 杭州做购物网站第一次跑业务怎么找客户
  • 做软件好还是做网站好建筑公司年度工作总结报告