-
UID:123401
-
- 注册时间2011-10-20
- 最后登录2025-01-15
- 在线时间1949小时
-
- 发帖1495
- 搜Ta的帖子
- 精华19
- 金钱42329
- 威望1583
- 贡献值11
- 好评度1569
-
访问TA的空间加好友用道具
|
旧版本链接: http://www.qtcn.org/bbs/read-htm-tid-56334.html本次更新: getFieldsValueFromRec改为readFieldsValueFromRec,并提高readFieldsValueFromRec,addFieldsValueToTbl,updateTblFieldsValue的易用性,不再需要指定每个字段的 参数类型,代码根据传入参数,自动判断类型,传出值,也不用再传 指针,相应的使用方法,也有变更: 旧版本: int iSN;QString strName;double dHeight;QDateTime dt;QByteArray ba;db.getFieldsValueFromRec(5, //记录集id "sn%d", &iSN, //字段名加类型 sn为字段名%d表示整型,&iSN传入指针,保存返回字段值 "name%s", &strName, //字段名加类型 name为字段名%s表示字符串(QString) "height&f", &dHeight, //字段名加类型 height为字段名%f表示小数(double) "birthday%t", &dt, //字段名加类型 birthday为字段名%t表示时间(QDateTime) "photo%b", &ba, //字段名加类型 photo为字段名%b表示二进制流(QByteArray) CDBProcess::szEnd); //结束标志,"|" 执行后,各字段值就保存在iSN, strName等变量中了。新版本, 不再用recordset id,打开记录集返回一个void*指针,这个指针作标识: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%d", iSN, //字段名加类型 sn为字段名%d表示整型,iSN传入值 "name%s", &strName, //字段名加类型 name为字段名%s表示字符串(QString), 传入QString变量指针 "height%f", dHeight, //字段名加类型 height为字段名%f表示小数(double),dHeight传入值 "birthday%t", &dt, //字段名加类型 birthday为字段名%t表示时间(QDateTime),传入指针 "photo%b", &ba, //字段名加类型 photo为字段名%b表示二进制流(QByteArray),传入指针 CDBProcess::szEnd); //结束标志,"|"新版本db.addFieldsValueToTbl("TB1", //表名 "sn", iSN, "name", strName, "height", dHeight, "birthday", dt, "photo", ba); 旧版本:db.updateTblFieldsValue("TB1", "WHERE sn=20", "height%f", dHeight, "photo%b", &ba, CDBProcess::szEnd); 新版本:db.updateTblFieldsValue("TB1", "WHERE sn=20", "height", dHeight, "photo", ba); 注:本版本代码需要C++11支持 DBProcess.h (9 K) 下载次数:133 DBProcess.cpp (23 K) 下载次数:138
|