Advertisement

Qt数据库的封装类

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本项目提供了一套基于Qt框架的数据库封装类,简化了SQL操作,提高了代码可读性和维护性。适用于各类需要数据库支持的应用程序开发。 ```cpp m_pDbProcPic = new CDBProcess(sqlserver); m_pDbProc->openDB(mysvr, mydb, myusername, mypwd); m_pDbProcPic = new CDBProcess(mysql); m_pDbProc->openDB(localhost, mydb, root, password); m_pDbProcPic = new CDBProcess(access); m_pDbProc->openDB(, strMDB, , ); m_pDbProcPic = new CDBProcess(sqlite); m_pDbProcPic->openDB(, mysqlitedb); // 构造函数:CDBProcess(const QString strType); // 参数为数据库类型,不区分大小写。支持的类型有 sqlite mysql access sqlserver // 示例: // CDBProcess db(sqlite); bool openDB( const QString& strSvrName, // 服务器名 const QString& strDBname, // 数据库名 const QString& strUserID = , // 用户名 const QString& strUserPwd = ); // 密码 // 打开数据库成功返回true,否则返回false。 // 对于sqlite,只有strDBname有效,其它参数忽略。如 db.openDB(, mysqlite.db) // 对MS Access数据库,strSvrName为空,默认用户名为sa。 如 db.openDB(, myaccess.mdb); // mysql和sqlserver需要提供所有参数。例如:db.openDB(svr1, mydb, user1, abcd); void closeDB(); // 关闭数据库 // CDBProcess析构时,亦会自动关闭数据库 bool excuteSQL(const QString& strSql); bool openRecordsetBySql( const QString& strSql, // SQL语句 int idx = -1); // 记录集id,默认为-1。例如:db.openRecordsetBySql(SELECT * FROM TB1, 5); void closeRecordset(int idx = -1); // 关闭记录集,参数默认值为-1。 bool isOpen() const; bool recEOF(int idx = -1) const; // 记录集游标是否在结尾 bool recBOF(int idx = -1) const; bool dropTable(const QString& strTbl); // 删除表 bool getFieldsValueFromRec( int idx, // 记录集id const char* szFldInfo, ... // 字段名加类型标识,如 sn%d, &iSN ); int iSN; QString strName; double dHeight; QDateTime dt; QByteArray ba; db.getFieldsValueFromRec(5, sn%d, &iSN, name%s, &strName, height&f, &dHeight, birthday%t, &dt, photo%b, &ba); bool updateTblFieldsValue( const QString strTbl, // 表名 QString strWhere, // SQL WHERE 子句,如WHERE sn=20 const char * szFldInfo, ...); // 可变参数,同 addFieldsValueToTbl long getRecordCount(int idx = -1) const; bool moveFirst(int idx = -1) const; bool movePrevious(int idx = -1) const; bool moveNext(int idx = -1) const; bool moveLast(int idx = -1) const; bool moveTo(int n, int idx = -1) const; QString getDbName() const; // 下面的函数未验证 bool execStoreProcOfArgList( int idx, const QString strStoreProc, const char* szFldsInfo, ... ); bool exexProc(const QString strStoreProc, QString str1, QString& str2); bool transaction(); bool commit(); bool rollback(); ```

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Qt
    优质
    本项目提供了一套基于Qt框架的数据库封装类,简化了SQL操作,提高了代码可读性和维护性。适用于各类需要数据库支持的应用程序开发。 ```cpp m_pDbProcPic = new CDBProcess(sqlserver); m_pDbProc->openDB(mysvr, mydb, myusername, mypwd); m_pDbProcPic = new CDBProcess(mysql); m_pDbProc->openDB(localhost, mydb, root, password); m_pDbProcPic = new CDBProcess(access); m_pDbProc->openDB(, strMDB, , ); m_pDbProcPic = new CDBProcess(sqlite); m_pDbProcPic->openDB(, mysqlitedb); // 构造函数:CDBProcess(const QString strType); // 参数为数据库类型,不区分大小写。支持的类型有 sqlite mysql access sqlserver // 示例: // CDBProcess db(sqlite); bool openDB( const QString& strSvrName, // 服务器名 const QString& strDBname, // 数据库名 const QString& strUserID = , // 用户名 const QString& strUserPwd = ); // 密码 // 打开数据库成功返回true,否则返回false。 // 对于sqlite,只有strDBname有效,其它参数忽略。如 db.openDB(, mysqlite.db) // 对MS Access数据库,strSvrName为空,默认用户名为sa。 如 db.openDB(, myaccess.mdb); // mysql和sqlserver需要提供所有参数。例如:db.openDB(svr1, mydb, user1, abcd); void closeDB(); // 关闭数据库 // CDBProcess析构时,亦会自动关闭数据库 bool excuteSQL(const QString& strSql); bool openRecordsetBySql( const QString& strSql, // SQL语句 int idx = -1); // 记录集id,默认为-1。例如:db.openRecordsetBySql(SELECT * FROM TB1, 5); void closeRecordset(int idx = -1); // 关闭记录集,参数默认值为-1。 bool isOpen() const; bool recEOF(int idx = -1) const; // 记录集游标是否在结尾 bool recBOF(int idx = -1) const; bool dropTable(const QString& strTbl); // 删除表 bool getFieldsValueFromRec( int idx, // 记录集id const char* szFldInfo, ... // 字段名加类型标识,如 sn%d, &iSN ); int iSN; QString strName; double dHeight; QDateTime dt; QByteArray ba; db.getFieldsValueFromRec(5, sn%d, &iSN, name%s, &strName, height&f, &dHeight, birthday%t, &dt, photo%b, &ba); bool updateTblFieldsValue( const QString strTbl, // 表名 QString strWhere, // SQL WHERE 子句,如WHERE sn=20 const char * szFldInfo, ...); // 可变参数,同 addFieldsValueToTbl long getRecordCount(int idx = -1) const; bool moveFirst(int idx = -1) const; bool movePrevious(int idx = -1) const; bool moveNext(int idx = -1) const; bool moveLast(int idx = -1) const; bool moveTo(int n, int idx = -1) const; QString getDbName() const; // 下面的函数未验证 bool execStoreProcOfArgList( int idx, const QString strStoreProc, const char* szFldsInfo, ... ); bool exexProc(const QString strStoreProc, QString str1, QString& str2); bool transaction(); bool commit(); bool rollback(); ```
  • Qt访问
    优质
    本项目提供了一套基于Qt框架的数据库访问封装类,简化了SQL操作流程,提高了代码可读性和开发效率。适合需要快速集成数据库功能的应用程序开发。 这段文字描述了一个封装了常用MySQL、SQL Server、SQLite和Access数据库连接及数据访问方法的工具或库。原作者的相关讨论可以在特定论坛上找到。
  • 基于QT操作接口
    优质
    本项目旨在开发一套基于QT框架的数据库操作接口类库,通过封装SQL语句执行、数据查询与更新等功能,简化应用程序的数据库管理流程。 我用QT封装了操作Sql Server、MySQL、SQLite以及ODBC数据库的接口类,在Qt5.8下使用效果非常好!
  • C#操作
    优质
    本段介绍一个用于简化C#中数据库操作的封装类库。该工具集提供了简洁高效的接口,便于开发者执行增删改查等常见SQL任务,从而提高开发效率并减少代码冗余。 我用C#编写了一个专门操作几种常用数据库(SQL Server, Access, Oracle)的类。该类支持事务操作、参数传递、存储过程以及Dataset的批量更新功能。
  • Qt中SQLite操作
    优质
    本文章介绍了如何在Qt框架下对SQLite数据库进行高效、便捷的操作封装,提供了简洁易用的数据访问接口。 封装接口:1.生成数据库文件2.打开数据库3.关闭数据库4.执行SQL语句5.实现增删改查及相应的重载接口6.事务操作包括transaction和commit,使用的是QT版本为5.14.2。
  • Windows下Qt操作C++及示例代码
    优质
    本项目提供了一套在Windows环境下使用Qt框架进行数据库操作的C++封装类,并包含详细的示例代码,帮助开发者简化数据管理流程。 功能:自动与sqlite3数据库进行连接,并执行数据的插入、查询、删除及更新操作;支持数据库建立与表建立以及where语句查询的自动拼接;提供对text字段的模糊查询能力。 此为基于Windows环境下的Qt封装类,用于简化SQLite数据库的操作。关于SQLite: 1. 遵守ACID事务规范。 2. 无需安装和配置。 3. 将整个数据库存储在一个单一磁盘文件中。 4. 数据库文件可以在不同字节顺序的机器间自由共享使用。 5. 支持最大达2TB大小的数据量。 6. 包含大约13万行C代码,体积约为4.43M。 7. 在大部分普通数据库操作上比一些流行数据库更快捷高效。 8. 提供简单易用且直观的API接口。 9. 除了TCL绑定外,还支持通过Wrapper为其他语言进行绑定使用。 10. 源代码注释详尽,并拥有超过90%以上的测试覆盖率。 11. 独立性:无需任何额外依赖项即可运行。 12. 完全开源的源码,可用于任意用途甚至商业销售目的。 13. 支持多种开发语言,包括C, C++, PHP, Perl, Java, C#, Python, Ruby等。
  • PHP操作.zip
    优质
    本资源提供了一个全面的PHP数据库操作封装类,简化了与MySQL等数据库的交互过程。它包含了增删改查基本功能,并支持事务处理和预处理语句,适合快速开发Web应用时使用。 PHP数据库操作封装类是一种工具或库,用于简化在PHP应用程序中执行SQL查询的过程。通过创建一个包含常用数据库功能的类(如连接、选择、插入、更新和删除数据),开发者可以避免重复编写相同的代码,并且能够更容易地维护他们的项目。这种类型的类通常会处理错误并提供一种安全的方式来防止SQL注入攻击,例如使用预编译语句或参数化查询。此外,这样的封装还可以包括事务管理功能和其他高级特性来提高数据库操作的效率和灵活性。
  • PHP操作.zip
    优质
    本资源提供了一个全面的PHP数据库操作封装类库,简化了常用SQL查询和事务处理代码,增强了应用开发效率与安全性。包含增删改查等基础功能及高级特性支持。 PHP数据库操作封装类免费下载。
  • C#中MySQL操作
    优质
    本文章介绍了一个用于简化C#程序中MySQL数据库操作的封装类。通过使用该类,开发者可以更方便地执行常见的CRUD(增删改查)操作,并提高代码的可维护性和复用性。 C#的MySQL数据库操作封装类包含了SQL语句的查询、修改、插入和删除等功能。
  • 关于QSqlQuery访问
    优质
    简介:本项目提供了一个针对QSqlQuery的高级封装类,简化了Qt框架下SQL数据库的操作流程,增强了数据访问的安全性和便捷性。 一个QT QSqlQuery访问数据库的封装类,里面包含了对数据库相关类的封装,并使用单例模式及互斥锁来确保数据库操作的安全性。此外,还提供了一个使用案例及其源码。