• 5033阅读
  • 16回复

自用的数据库访问封装类(20170622更新,修复连接MySql等,未加端口的问题) [复制链接]

上一主题 下一主题
离线realfan
 

只看楼主 倒序阅读 楼主  发表于: 2016-12-16

DBProcess.cpp (23 K) 下载次数:126 DBProcess.h (7 K) 下载次数:117

2017.06.22更新,修复连接MySql等,未加端口的问题
注:本代码需要C++11支持,否则不能用
CDBProcess db;
db.openDB("mytest.db");
void * pQry = db.openRecordsetBySql("select * from tb1");
while(db.moveNext(pQry))
{
    db.readFieldsValueFromRec("sn",            iSN,          //int
                                                       "name",      strName, //QString
                                                       "height",    dHeight,   //double
                                                       "birthday", dt,             //QDateTime
                                                       "photo",     ba);           //QByteArray

}
db.closeRecordset(pQry);
=====================================================
db.addFieldsValueToTbl("TB1",                  //表名
                        "sn",           iSN,
                        "name",      strName,
                        "height",    dHeight,
                        "birthday", dt,
                        "photo",     ba);

====================================================
db.updateTblFieldsValue("TB1", "WHERE sn=20", "height", dHeight,
                                                                                      "photo",   ba);   


1条评分金钱-5
zoapk 金钱 -5 - 2017-03-06
离线XChinux

只看该作者 1楼 发表于: 2016-12-17
已更新到tianchi库
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线圣域天子

只看该作者 2楼 发表于: 2016-12-17
关于数据库连接,我最近发现一个很严重的问题:
当程序连接另一台机器上的数据库时,一旦局域网处于很不稳定的状态下,
数据库连接会断开,如果重新open会造成程序崩溃。
数据库是postgresql, 运行在 ubuntu14.04上
Qt程序是5.7, mingw32版编译。
崩溃时大多是提示DB的版本号不符、指令长度错误(负值或几个T的大小)、或SSL错误等。
个人猜测可能是网络数据传输中丢失内容或内容出错了。

以往在局域网很稳定时,与DB服务器之间,就算是DB服务器重启,拨网线最多只引起数据库操作失败的错误提示。
但如今程序却频频崩溃。

此现象当程序与db处于同一台机器时,没有出现过。
离线zhuifengwy

只看该作者 3楼 发表于: 2016-12-28
感谢
在线liudianwu

只看该作者 4楼 发表于: 2016-12-30
回 圣域天子 的帖子
圣域天子:关于数据库连接,我最近发现一个很严重的问题:
当程序连接另一台机器上的数据库时,一旦局域网处于很不稳定的状态下,
数据库连接会断开,如果重新open会造成程序崩溃。
数据库是postgresql, 运行在 ubuntu14.04上
Qt程序是5.7, mingw32版编译。
....... (2016-12-17 23:37) 

我也遇到过,我的是mysql数据库
专业各种自定义控件编写+UI定制+输入法定制,童叟无欺,量大从优,欢迎咨询购买定制!QQ:517216493
群号:853086607(Qt交流大会,雨田哥群,不定期上传作品,解答作品中相关问题!) 312125701(QtQML多多指教群) 46679801(Qt开发技术交流群-5000人大群)
离线zhuifengwy

只看该作者 5楼 发表于: 2017-01-09
用在sqlite数据库中进行白条级别的更新操作,会耗时达40秒,请问如何能提高该操作效率
离线zhuifengwy

只看该作者 6楼 发表于: 2017-01-09
用事务解决了

只看该作者 7楼 发表于: 2017-02-08
离线yq5858588

只看该作者 8楼 发表于: 2017-06-10
D:\qtworkspace\mlayout\sqlhelper\DBProcess.h:77: error: C2770: “T QVariant::value(void) const”的显式 模板 参数无效
快乐大男孩
离线yq5858588

只看该作者 9楼 发表于: 2017-06-10
怎么回事啊  出现了上面的问题哦
快乐大男孩
离线realfan

只看该作者 10楼 发表于: 2017-06-11
回 yq5858588 的帖子
yq5858588:D:\qtworkspace\mlayout\sqlhelper\DBProcess.h:77: error: C2770: “T QVariant::value(void) const”的显式 模板 参数无效 (2017-06-10 17:23) 

需要C++11,注意工程配置
离线realfan

只看该作者 11楼 发表于: 2017-06-11
回 yq5858588 的帖子
yq5858588:怎么回事啊  出现了上面的问题哦 (2017-06-10 17:24) 

需要C++11,注意工程配置
离线hunterzf

只看该作者 12楼 发表于: 2017-06-12
谢谢楼主,辛苦了
离线yq5858588

只看该作者 13楼 发表于: 2017-06-15
回 realfan 的帖子
realfan:需要C++11,注意工程配置 (2017-06-11 08:55) 

我已经配置C++11了  还是不行啊  不知道怎么回事
快乐大男孩
离线realfan

只看该作者 14楼 发表于: 2017-06-19
回 yq5858588 的帖子
yq5858588:我已经配置C++11了  还是不行啊  不知道怎么回事 (2017-06-15 17:44) 

我一直在用,都是好的。你用的什么环境,可以把最基本的工程发给我看一下。
离线yq5858588

只看该作者 15楼 发表于: 2017-06-22
回 realfan 的帖子
realfan:我一直在用,都是好的。你用的什么环境,可以把最基本的工程发给我看一下。 (2017-06-19 09:52) 

怎么发你呀   你qq留给我  我发你
快乐大男孩
离线realfan

只看该作者 16楼 发表于: 2017-06-23
回 yq5858588 的帖子
yq5858588:怎么发你呀   你qq留给我  我发你 (2017-06-22 13:33) 

发我邮箱吧
快速回复
限100 字节
 
上一个 下一个