化工企业网站模板,网络媒体推广产品,网站设计与开发的基本步骤包括哪些,网站的音乐怎么做的【工作环境:基于友善之臂mini2440开发板Qtopia2.2版本RedHat9SQLite-3.3.6】 1.Qtopia中使用SQLite 由于Qt2不支持数据库操作,(Qt3版本就提供了支持数据库操作的类,但是Qtopia2比较经典,是基于Qt2的,没办法…
【工作环境:基于友善之臂mini2440开发板+Qtopia2.2版本+RedHat9+SQLite-3.3.6】
1.Qtopia中使用SQLite
由于Qt2不支持数据库操作,(Qt3版本就提供了支持数据库操作的类,但是Qtopia2比较经典,是基于Qt2的,没办法!)所以在Qt/Qtopia程序中需要数据库时,可以考虑在Qt中使用Linux下操作SQLite数据库的方法。(表达的有点不清楚,呵呵,基本上就是直接把Linux下操作SQLite的代码Copy到QT程序的某一个函数下。)
需要我们修改的地方:
①在Qtopia程序中添加头文件sqlite3.h
②在Makefile文件中LIBS添加SQLite库的安装路径
如:-L/usr/local/sqlite-3.3.6/lib -lsqlite3
③如果是编译在开发板上运行的程序,则添加arm平台下编译的sqlite的库路径。(先把编译好的库拷贝到开发板,执行export LD_LIBRARY_PATH,让你的系统能够识别库路径)
2.SQLite中存储中文操作
之前可以在Qtopia中显示中文,后来程序中需要调用数据库的信息且要是中文的,就试了下,可以显示。(自己总结一下,数据库中存储的还不是0和1吗,不管你是中文还是英文,只要你输入的时候和输出的时候提供一致的编码,就可以了。)
①这里都使用UTF-8编码方式,输入中文的环境一定也要是UTF-8的(我的Vi打开的就不是),用QtCreator工具,可以选择编码打开类型。
利用编程insert,插入一个中文字段。
[cpp]?view plaincopy
- char?*zErrMsg?=?0;??
- char?*sql;??
- char?buf[256];??
- char?*v1="你好";??
- sprintf(buf,"insert?into?/"gpio_config_info/"?values('%s');",v1);???
- sql=buf;??
- sqlite3_exec(db,sql,0,0,&zErrMsg);??
②查询和使用数据库中保存的中文信息
[cpp]?view plaincopy
- char?*zErrMsg?=?0;??
- char?*sql;??
- int?nrow?=?0,?ncolumn?=?0;??
- char?**azResult;??
- ??
- sql?=?"SELECT?*?FROM?gpio_config_info";??
- sqlite3_get_table(?db?,?sql?,?&azResult?,?&nrow?,?&ncolumn?,?&zErrMsg?);??
- ??
- int?i?=?0?;??
- printf(?"row:%d?column=%d?/n"?,?nrow?,?ncolumn?);??
- printf(?"/nThe?result?of?querying?is?:?/n"?);??
- ??
- item1->setText(2,codec->toUnicode(azResult[8]));//azResult[8]即为对应的“你好”字段??
- ??
- for(?i=0?;?i<(?nrow?+?1?)?*?ncolumn?;?i++?)??
- printf(?"azResult[%d]?=?%s/n",?i?,?azResult[i]?);??
- ??
- sqlite3_free_table(azResult);??
这样在Qtopia程序中就可以显示出中文了。