mySql完全手册2011031401
【实践】
MySql和C部分实践
环境:
Vs2005+Xp+Sp3
MySql Server 5.0
库文件和头文件路径分别:
D:\Program Files\MySQL\MySQL Server 5.0\lib\debug
D:\Program Files\MySQL\MySQL Server 5.0\include
实践过程:
1、新建Windows32 Console程序
2、引用头文件#include <mysql>
编译,出现错误,找不到头文件~
在Xp环境变量中添加路径,再编译,仍然找不到~
看来只有在vs2005的环境配置中处理,实际操作:
工具->选项->项目和解决方案->VC++目录,这里有一个库文件路径和头文件路径,分别添加相应的路径
继续编译,错误,mysql_com.h中找不到my_socket类型~
具体指向这句话:int my_connect(my_socket s, const struct sockaddr *name, unsigned int namelen,
unsigned int timeout);
网上查询需要#include <winsock.h>在#include <mysql.h>前面,ok,添加了,细细想下,应该还有问题:没有引用库文件
随后,在当前项目属性中,找到:配置属性->链接器->输入->附加依赖项
录入:D:\Program Files\MySQL\MySQL Server 5.0\lib\debug\mysqlclient.lib wsock32.lib
杯具,错误Lnk1104,找不到D:\program.obj~
其实最开始我直接拷贝的路径,串"D:\Program Files\MySQL\MySQL Server 5.0\lib\debug\mysqlclient.lib
这个的错误也是上面那个,后面改成无引号的,还是这个错~
linker高级命令中显示如下:你会发现路径错误(红色部分)
/OUT:"d:\My Documents\Visual Studio 2005\Projects\LibMath\Debug\TestMysql.exe" /INCREMENTAL /NOLOGO /MANIFEST /MANIFESTFILE:"Debug\TestMysql.exe.intermediate.manifest" /DEBUG /PDB:"d:\My Documents\Visual Studio 2005\Projects\LibMath\debug\TestMysql.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86 /ERRORREPORT:PROMPT "D:\Program Files\MySQL\MySQL Server 5.0\lib\debug\mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
最后查询到,在引用库需要""来锁定完整路径的库,
最后在附加依赖项保存是这个串:"D:\Program Files\MySQL\MySQL Server 5.0\lib\debug\mysqlclient.lib" wsock32.lib
编译,出现错误lnk2005,lnk2019,这个错误是运行库问题,浏览下项目属性,发现当前运行库为MDd;那么我只能改成MTd
编译,成功了~
F5运行,cmd窗口出现“Error in connection:null”字符
ok,检查了,是帐号错误,本来是root,在这里用成sa了
修改成root,编译运行,出现字符"Query executed successfully"
到这里基本上算运行了一个正常的实践流程,至少在链接mySql server和简单查询上已经成功了~hoho
下面贴出h和cpp文件:
2 // 或是经常使用但不常更改的
3 // 特定于项目的包含文件
4 //
5
6 #pragma once
7
8
9 #define WIN32_LEAN_AND_MEAN // 从 Windows 头中排除极少使用的资料
10 #include <stdio.h>
11 #include <tchar.h>
12
13 #include <winsock.h>//这个文件在mysql.h的前面哈
14
15 // TODO: 在此处引用程序需要的其他头文件
16 #include <mysql.h>
2 //
3
4 #include "stdafx.h"
5
6
7
8 int _tmain(int argc, _TCHAR* argv[])
9 {
10 MYSQL mysql;
11 MYSQL_RES * result;
12
13 mysql_init(&mysql);
14
15 if (!(mysql_real_connect(&mysql ,"localhost" ,"root" ,"sa" ,"library" ,0 ,NULL ,0)))
16 {
17 fprintf(stderr, "Error in connection:%s\n");
18 return 0;
19 }
20
21 if (mysql_query(&mysql ,"Select * from tbmembers") != 0)
22 {
23 fprintf(stdout ,"Error in query\n");
24 }
25 else
26 {
27 fprintf(stdout ,"Query executed successfully\n");
28 }
29
30 mysql_close(&mysql);
31
32 return 0;
33 }
好,这个算结束了本次实践过程的记录
结论:
1、mysqlclient.lib运行库是MTd,多线程静态库;对应Release版本就是MT
2、mysql.h头文件还是依赖winsock.h,说明其开发的基础还是在sock,属于sock扩展应用
转载于:https://www.cnblogs.com/GoGoagg/archive/2011/03/14/1983836.html
mySql完全手册2011031401相关推荐
- Apache+php+tomcat+mysql整合手册
Apache+Php+tomcat+mysql整合手册 Apache+Php+tomcat+mysql整合手册 一. 需要的安装包 httpd-2.0.52.tar.gz jakarta-tomcat ...
- mysql upgrade help_【MySQL学生手册】MySQL的升级
我们知道,对于MySQL的新版本开发仍在继续,Oracle现在对MySQL发行版更新也很频繁.新版本中增加了许多新特性且修正了旧版本中发现的问题.然而,你不应该在未深入了解升级所涉及到的问题和困难程度 ...
- mysql 安装手册(转)
mysql 安装手册 李群林 转载了 刘守尉(无效) 的博文 [查看原文][转载时间:2012-08-07 17:28] 1.下载MySQL的Linux安装文件 Linux下安装MySQL需要下面 ...
- mysql使用手册_mysql使用手册
mysql使用手册 1.mysql登录 1.1 远程登陆mysql mysql -h ip -u root -p 密码 1.2 本地登陆mysql mysql -u root -p 密码 2.为数据库 ...
- MySQL 安装手册(5.7.20)
MySQL 安装手册(5.7.20) 0. 安装摘要 清除 Linux 环境自身 MYSQL 或者 MariaDB 等: 下载 MYSQL RPM包: 安装.配置.启动: 修改 root 密码: 创建 ...
- mysql参考手册官方版(中文)
mysql参考手册官方版(中文) http://www.linuxforum.net/books/mysqlmanual/manual_Privilege_system.html
- MySQL学习手册(第一部分)
Mysql学习手册(第一部分) (一)Mysql查询语法和执行顺序 1.1 查询语法顺序 1.2 查询执行顺序 1.3 WHERE条件顺序 (二)Mysql架构介绍 2.1 逻辑架构 2.1.1 Co ...
- mysql r创建用户名_MySQL_mysql database manual(mysql数据库手册),2.1登入到mysql控制台[用户名为r - phpStudy...
mysql database manual(mysql数据库手册) 2.1登入到mysql控制台[用户名为root,密码缺省为空] 切换到mysql的bin目录cd d:/wamp/mysql/bin ...
- 第二十三章 MySQL数据库 手册2 SQL语句
第二十三章 MySQL数据库 手册2 SQL语句 实验二:用SQL语句,管理数据库 `危险命令,delete 后不加 where 条件代表删除所有数据 delete.` `更加危险的删除命令trunc ...
最新文章
- LaxTex-----参考文献中同名作者被默认缺省的问题
- 多伦多一人学计算机科学本科,加拿大多伦多大学计算机科学Essay要求
- http和HTTPS的区别及SSL介绍
- 主程序与子程序不在同一程序模块中_深度解析S7200系列PLC带参数子程序用法
- Python collections的使用
- autojs 如何获取控件的desc_owchart教程三:如何添加成交量?
- python下载论文_Python实现一个论文下载器的过程
- DeepMind作弊?被质疑干翻星际2顶尖高手全靠手速
- python修改文件后缀_Python批量修改文件后缀的方法
- 在华为三层交换机上如何实现不同vlan间的通信
- Ubuntu18.04 安装搭建 hadoop-3.3.0 集群
- directshow视频旋转90度
- 【从零开始学习YOLOv3】3. YOLOv3的数据加载机制和增强方法
- Android root环境下设置ro.debuggable = 1
- 7-11 哥德巴赫猜想
- linux运维是什么
- 小程序楼层索引,将汉字转换为拼音并以首字母排序
- 投影仪软件哪个好用?装上一起看TV,解锁追剧新体验
- 通灵学院|游戏设计研习6:制作谜题的原则★(1800字)
- 慕课软件质量保证与测试(第五章.课后作业)
热门文章
- 聚类之isodata算法
- 配置远程服务器jupyter
- android下音频采集功能,音频采集:Android基于AudioRecord的实现
- 提示找不到include/common.h 提示No package 'minigui' found
- 自定义控件的子控件支持设计模式
- linux使用freetds 连接连远程服务器sqlservser2012
- fileinput 的总结
- LeetCode - 413. Arithmetic Slices - 含中文题意解释 - O(n) - ( C++ ) - 解题报告
- 其实吧,微信就是已经用电脑上线,第二天消息还是从手机上重新接收
- GCC的内存边界对齐