linux下用户名密码校验,验证用户合法性
继续阅读 »
linux非阻塞socket教程
本文并非解释什么是非阻塞socket,也不是介绍socket API的用法, 取而代替的是让你感受实际工作中的代码编写。虽然很简陋,但你可以通过man手册与其它资源非富你的代码。请注意本教程所说的主题,如果细说,内容可以达到一本书内容,你会发现本教程很有用。
本教程内容如下:
1. 改变一个阻塞的socket为非阻塞模式。
2. select模型
3. FD宏
4. 读写函数
5. 写一个非阻塞socket代码片
6. 整个代码
继续阅读 »
在Windows下mysql++支持UTF8
这几天帮一个朋友修改一个产品,这个产品是在Windows下通过C++的mysql++去访问mysql数据库,同时,该产品的数据需要支持多语 言(中文、日文、韩文、法文等)。而mysql对于多语言的支持采用的字符集是utf8,但是,在windows下的vs中是采用unicode,这样就 需要进行字符集的转化。而该产品的代码中,又使用了STL的string,这样就更麻烦了。
继续阅读 »
mysql++如何设置字符集
在用mysql++连接mysql时,发现读出的数据有乱码,然后看看mysql++的源码,发现mysql++提供有设置字符集的接口,方法如下所示:
继续阅读 »
14. MYSQL++之SSQLS(原理解析)
从之前所介绍的SSQLS的介绍中我们可以感受到,SSQLS的精髓应该在sql_create_#这个宏,他所创建出来的这个结构体将会是突破的关键,所以我将会从以下顺序入手。
继续阅读 »
13. MYSQL++之SSQLS(基本用法篇)
1. 综述
终于来到了SSQLS( Specialized SQL Structure),照我看来这是一个很类似于Hibernate的功能。也就是说,通过SSQLS可以将一张表完全对应到一个C++结构体中,然后只要对于这个结构体进行操作,同时再加入到对应的mysqlpp:: Query对应的方法中,我们就可以执行对应的SQL语句。
继续阅读 »
12. MYSQL++之Template Query
1. 什么是Template Query
在我们实际的编程过程中,我们很容易碰到printf这类需要在运行时来决定到底打印出什么的函数,例如
1 |
printf(“hello %s”, sth); |
在这个例子中,那个%s占位符表明了我们以后希望打印的内容格式和位置。同样,在我们书写SQL语句的时候,也会出现这样的情况,例如
继续阅读 »
11. MYSQL++ 之 Quoting 与 Escaping
1. 综述
其实一看到这两个单词的时候我有点莫名其妙,可能英语没有学好,我的理解就是quoting是“引用”的意思,而Escaping是“逃脱”的意思。后来在看到了作者的TUTORIAL之后才大致明白了两者的意思。
继续阅读 »
10. MYSQL++ 之 DbDriver
1. 综述
DbDriver只是对于MYSQL C API的一个非常简单的封装,作者原句是This class does as little as possible to adapt between its public interface and the interface required by the underlying C API. 作为MYSQL++的使用者我们不应该直接去创建这个类型,而应该默认让mysqlpp:: Connection来来创建和管理,如果实在是需要,可以通过mysqlpp:: Connection::driver( )来获取底层的DbDriver类型。
继续阅读 »
近期评论