- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQL++ V3.1.0 用户手册
【译者注】该文档用词较为隐晦,译者也非职业翻译,故有些用词不准确,欢迎来邮件提出批评意见。另,转载请注明出处。Word文档将提交到百度文科,请自行下载。
[MySQL++ v3.1.0 用户手册]
Kevin Atkinson
Sinisa Milivojevic
Monty Widenius
Warren Young
Copyright ? 1998-2001, 2005-2010 Kevin Atkinson (original author)MySQL ABEducational Technology
Resources
June 03, 2010
译者:自由骑士笃志
时间:2011-8-5
E-mail:
目录
1.简介 3
1.1. MySQL++历史简要 3
1.2. 如果你有问题 3
2. 概述 3
2.1. 连接对象 4
2.2. 查询对象 4
2.3. 结果表 4
2.4 异常 5
3. 指导 5
3.1. 运行例子 5
3.2. 一个简单的例子 6
3.3. 一个相对复杂一些的例子 7
3.4. 异常 9
3.5. 引用和引号泄露 10
3.6. C++ vs. SQL数据类型 10
3.7. 处理SQL的NULL 11
3.8. MySQL++的特殊的String类型 12
3.9. 处理二进制数据 13
3.10. 使用事务 18
3.11. 使用哪种查询方式? 24
3.12.处理带条件的结果行 25
3.13. 在一个结果表中为每行执行代码 27
3.14. 连接选项 28
3.15. 处理连接超时 31
3.16.一个连接上的并发查询 31
3.17.获取字段源数据 32
1.简介
MySQL++是一个针对MySQL C API的C++封装。它的目的是提供一个类似STL容易一样简单易用的接口,帮助你有效的避免在代码中使用复杂的SQL语句。
MySQL的最新版本可以从MySQL++的官方网页查看。
如果你希望支持MySQL开发工作,可以访问它的邮件列表,邮件列表内有记录开发人员名单,同时告诉你如何进行捐助。
1.1. MySQL++历史简要
MySQL++是1998年Kevin Atkinson创建的。它起步是初于MySQL,但是早期版本的目的是希望设计为数据库无关的,所以早期它被称为SQL++,在早期也曾被称为”sqlplus”。Kevin Atkinson完成了1.0之前的版本。
到了1999年,开始Monty Widenius做了一些对MySQL++的补全工作,完成了1.1,1.2版本,但是后来他去了另外一个MySQL公司。之后Sinisa一直对库进行维护,直到2001年中旬发布了1.7.9版本。此时,他们发现进行数据库无关的开发几乎是不可行的。
也就是这个1.7.9版本之后,MySQL++很久时间没有进行更新,这样持续了三年。期间内Sinira一直对MySQL++邮件列表的用户进行技术解答,有时会发布部分补丁,但是再未正式更新过。
在这个期间内还有个很糟糕的事情,2001年的时候,主流的C++编译器还无法支持标准C++。导致MySQL++使用了许多不标准的构造去适应老的编译器。直到MySQL++开始大量使用模板之后,这更增加了使用者的麻烦,他们在项目中使用MySQL++时会出现各种奇怪的警告和错误。
直到2004年八月,WarrenYoung实在无法忍受了,他将之前的许多零碎补丁整合起来,发布了1.7.10版本,这个版本使用GCC3.3编译后再没有任何警告。从那以后,MySQL++才逐渐的减少它的bug,开始变的有活力了。
1.2. 如果你有问题
如果针对这个库有什么问题,需要邮件咨询别人,我们很希望你可以发送邮件到MySQL++邮件列表。这个邮件列表有存档,或许你可以在里面搜索到别人已经提出同样的问题。
你可能会在MySQL++列表中发现一个私人邮箱,建议不要发送邮件给个人,因为有些开发者已经不再负责MySQL++的开发。
2.概述
MySQL++能够处理复杂的数据库操作,而事实上,它使用起来又比其他的数据库API简单,它的大致用法如下:
1: 开启连接。
2: 组成执行查询。
3: 如果成功则返回结果。
4: 如果失败则处理错误。
每一步均对应MySQL++的一个类。
2.1. 连接对象
每一个连接对象负责管理一个MySQL服务器的连接。你起码需要一个连接对象进行数据库事务处理。
MySQL支持客户端和服务器有多种不同的数据连接:TCP/IP,Unix domain sockets,Windows命名管道。
MySQL++的普通连接对象 Connection 类可以支持上面的全部连接,只要在 Connection::conn
文档评论(0)