当前位置: 首页 > news >正文

网站推广公司就去柚米2023新闻大事10条

网站推广公司就去柚米,2023新闻大事10条,淮南吧,网站瀑布流滚动加载QT学习笔记-QT访问各种关系数据库笔记汇总 1、QT访问Oracle数据库2、QT访问SQLServer数据库3、QT访问MySQL数据库4、QT访问PostgreSQL数据库5、QT访问Access数据库6、QT多线程中访问数据库的要点 在使用QT进行应用开发过程中,不可避免的会涉及到访问关系数据库&…

QT学习笔记-QT访问各种关系数据库笔记汇总

  • 1、QT访问Oracle数据库
  • 2、QT访问SQLServer数据库
  • 3、QT访问MySQL数据库
  • 4、QT访问PostgreSQL数据库
  • 5、QT访问Access数据库
  • 6、QT多线程中访问数据库的要点

在使用QT进行应用开发过程中,不可避免的会涉及到访问关系数据库,为了方便后期查阅笔记,在本文进行一下汇总。

1、QT访问Oracle数据库

1.1、关于QT访问Oracle数据库的驱动编译请参阅
1.1.1 《QT学习笔记-QT安装oracle oci驱动》
1.1.2 《QT学习笔记-oracle oci数据库驱动交叉编译并移植到ARM开发板》
1.2、关键步骤:
1.2.1 配置oracleclient的环境变量LD_LIBRARY_PATH,或者直接在代码中通过QLibrary加载依赖库
1.2.2 参考代码

void Widget::on_btnDbTest_clicked()
{
#ifdef Q_OS_WINQLibrary *oci_lib = new QLibrary("D:/oracleinstantclient_19_19/oci.dll");oci_lib->load();if (!oci_lib->isLoaded()){qDebug() << "oracle oci动态库加载失败!";return;}
#elseQLibrary *oci_lib = new QLibrary("/usr/lib/oracleclient/instantclient_19_19/libclntsh.so");bool loadresult = oci_lib->load();qDebug() << "oracle oci动态库load result is " << loadresult;if (!loadresult){qDebug() << oci_lib->errorString();}if (!oci_lib->isLoaded()){qDebug() << "oracle oci动态库libclntsh.so加载失败!";return;}
#endif//以下代码测试访问Oracle数据QSqlDatabase  db = QSqlDatabase::addDatabase("QOCI");db.setHostName("xxx.xxx.xxx.xxx");		//数据库服务器的ipdb.setPort(1521);						//数据库服务器的端口号db.setDatabaseName("orcl");    			//此处写你数据库的实例名称db.setUserName("oracle");				//写数据库的用户名db.setPassword("oracle@123");			//写数据库的密码if (!db.open()){qDebug() << "数据库连接失败!";QSqlError lastError = db.lastError();qCritical() << lastError.nativeErrorCode() << ", " << lastError.text();}else{qDebug() << "数据库连接成功!";QSqlQuery query(db);if (query.exec("select * from sys_user")){qDebug() << "查询表格sys_user成功!";while(query.next()){qDebug() << query.value(0).toInt() << ", " << query.value(1).toString() << ", " << query.value(2).toString() << "," << query.value(3).toString();}}}
}

2、QT访问SQLServer数据库

2.1、关于QT访问SQL Server数据库的驱动编译请参阅
2.1.1 《QT学习笔记-Linux ARM环境下实现QT程序通过ODBC驱动访问SQLServer数据库》
2.2 参考代码

void Widget::on_btnDbTest_clicked()
{//以下代码测试访问SQLServer数据QSqlDatabase  db = QSqlDatabase::addDatabase("QODBC");db.setDatabaseName("mydsn");    	//此处写你配置的ODBC数据源的名称db.setUserName("sa");				//写数据库的用户名db.setPassword("sa@123");			//写数据库的密码if (!db.open()){qDebug() << "数据库连接失败!";QSqlError lastError = db.lastError();qCritical() << lastError.nativeErrorCode() << ", " << lastError.text();}else{qDebug() << "数据库连接成功!";QSqlQuery query(db);if (query.exec("select * from sys_user")){qDebug() << "查询表格sys_user成功!";while(query.next()){qDebug() << query.value(0).toInt() << ", " << query.value(1).toString() << ", " << query.value(2).toString() << "," << query.value(3).toString();}}}
}

3、QT访问MySQL数据库

3.1 关于QT访问MySQL数据库的驱动编译请参阅
3.1.1 《QT学习笔记-开发环境编译Qt MySql数据库驱动与交叉编译Qt MySql数据库驱动》
3.2 参考代码

void Widget::on_btnDbTest_clicked()
{//以下代码测试访问MySQL数据QSqlDatabase  db = QSqlDatabase::addDatabase("QMYSQL");db.setHostName("xxx.xxx.xxx.xxx");		//数据库服务器的ipdb.setPort(3306);						//数据库服务器的端口号db.setDatabaseName("mydbname");    //此处写你数据库的名称db.setUserName("root");			//写mysql数据库的用户名db.setPassword("root@123");			//写mysql数据库的密码if (!db.open()){qDebug() << "数据库连接失败!";QSqlError lastError = db.lastError();qCritical() << lastError.nativeErrorCode() << ", " << lastError.text();}else{qDebug() << "数据库连接成功!";QSqlQuery query(db);if (query.exec("select * from sys_user")){qDebug() << "查询表格sys_user成功!";while(query.next()){qDebug() << query.value(0).toInt() << ", " << query.value(1).toString() << ", " << query.value(2).toString() << "," << query.value(3).toString();}}}
}

4、QT访问PostgreSQL数据库

4.1 关于QT访问PostgreSQL数据库的驱动编译请参阅
4.1.1《QT学习笔记-QT安装postgresql驱动》
4.1.2 《QT学习笔记-postgresq数据库l驱动移植到RK3568ARM开发板》
4.2 参考代码

void Widget::on_btnDbTest_clicked()
{//以下代码测试访问PostgreSQL数据QSqlDatabase  db = QSqlDatabase::addDatabase("QPSQL");db.setHostName("xxx.xxx.xxx.xxx");		//数据库服务器的ipdb.setPort(5432);						//数据库服务器的端口号db.setDatabaseName("mydbname");    		//此处写你数据库的名称db.setUserName("postgres");				//写数据库的用户名db.setPassword("postgres");				//写数据库的密码if (!db.open()){qDebug() << "数据库连接失败!";QSqlError lastError = db.lastError();qCritical() << lastError.nativeErrorCode() << ", " << lastError.text();}else{qDebug() << "数据库连接成功!";QSqlQuery query(db);if (query.exec("select * from sys_user")){qDebug() << "查询表格sys_user成功!";while(query.next()){qDebug() << query.value(0).toInt() << ", " << query.value(1).toString() << ", " << query.value(2).toString() << "," << query.value(3).toString();}}}
}

5、QT访问Access数据库

5.1 参考代码

void Widget::on_btnDbTest_clicked()
{//以下代码测试访问Access数据QSqlDatabase  db = QSqlDatabase::addDatabase("QODBC");db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=myaccessfile.mdb");    	//此处写你配置的ODBC数据源的名称或这连接字符串db.setPassword("sa@123");			//写数据库的密码if (!db.open()){qDebug() << "数据库连接失败!";QSqlError lastError = db.lastError();qCritical() << lastError.nativeErrorCode() << ", " << lastError.text();}else{qDebug() << "数据库连接成功!";QSqlQuery query(db);if (query.exec("select * from sys_user")){qDebug() << "查询表格sys_user成功!";while(query.next()){qDebug() << query.value(0).toInt() << ", " << query.value(1).toString() << ", " << query.value(2).toString() << "," << query.value(3).toString();}}}
}

6、QT多线程中访问数据库的要点

在不同线程中访问数据库时,关键时在创建QSqlDatabase对象时采用不用的连接名称,如下:

QSqlDatabase db1 = QSqlDatabase::addDatabase("QODBC", "MainThread");		
QSqlDatabase db2 = QSqlDatabase::addDatabase("QODBC", "SubThread");
//db1和db2在采用不用的连接名称MainThread、SubThread

文章转载自:
http://dinncoglimmery.bkqw.cn
http://dinncointrovert.bkqw.cn
http://dinncotelelecture.bkqw.cn
http://dinncoregally.bkqw.cn
http://dinncoconditioning.bkqw.cn
http://dinncobiological.bkqw.cn
http://dinncoisdn.bkqw.cn
http://dinncotherology.bkqw.cn
http://dinncooriflamme.bkqw.cn
http://dinncoagger.bkqw.cn
http://dinncoviedma.bkqw.cn
http://dinncoenscroll.bkqw.cn
http://dinncosporocyte.bkqw.cn
http://dinncorigoroso.bkqw.cn
http://dinncochamberer.bkqw.cn
http://dinncocacumen.bkqw.cn
http://dinncofussock.bkqw.cn
http://dinncoserodifferentiation.bkqw.cn
http://dinncobivariate.bkqw.cn
http://dinncoheterokaryosis.bkqw.cn
http://dinncoforeseeingly.bkqw.cn
http://dinncolunk.bkqw.cn
http://dinncohyperuricemia.bkqw.cn
http://dinncoeyeable.bkqw.cn
http://dinncoixion.bkqw.cn
http://dinncoectozoic.bkqw.cn
http://dinncocuprum.bkqw.cn
http://dinncothyroiditis.bkqw.cn
http://dinncogramdan.bkqw.cn
http://dinncorugger.bkqw.cn
http://dinncomiscount.bkqw.cn
http://dinncodjinni.bkqw.cn
http://dinncofaraway.bkqw.cn
http://dinncogambly.bkqw.cn
http://dinncoannaba.bkqw.cn
http://dinncosweepup.bkqw.cn
http://dinncovladimirite.bkqw.cn
http://dinncomaltster.bkqw.cn
http://dinncostoke.bkqw.cn
http://dinncograticule.bkqw.cn
http://dinncokava.bkqw.cn
http://dinncoroughride.bkqw.cn
http://dinncosisyphus.bkqw.cn
http://dinncovirbius.bkqw.cn
http://dinncomicrobe.bkqw.cn
http://dinncotakin.bkqw.cn
http://dinncoparascience.bkqw.cn
http://dinncochloroethene.bkqw.cn
http://dinncoertebolle.bkqw.cn
http://dinncohempen.bkqw.cn
http://dinncomidas.bkqw.cn
http://dinncoemigrant.bkqw.cn
http://dinncobauson.bkqw.cn
http://dinncoboffin.bkqw.cn
http://dinncoconamore.bkqw.cn
http://dinncochivalrously.bkqw.cn
http://dinncoelijah.bkqw.cn
http://dinnconoodlehead.bkqw.cn
http://dinncoreorder.bkqw.cn
http://dinncoencomiastic.bkqw.cn
http://dinncovenomousness.bkqw.cn
http://dinncoinvolucrum.bkqw.cn
http://dinncosadomasochism.bkqw.cn
http://dinncomorphophonology.bkqw.cn
http://dinncochamfer.bkqw.cn
http://dinncobrat.bkqw.cn
http://dinncocoalfield.bkqw.cn
http://dinncoginner.bkqw.cn
http://dinncochemulpo.bkqw.cn
http://dinncobucharest.bkqw.cn
http://dinncoupstretched.bkqw.cn
http://dinncointermediation.bkqw.cn
http://dinncoparkway.bkqw.cn
http://dinncocinquefoil.bkqw.cn
http://dinncoqualificative.bkqw.cn
http://dinncobijugate.bkqw.cn
http://dinncocentralize.bkqw.cn
http://dinncomelanogenesis.bkqw.cn
http://dinncospilosite.bkqw.cn
http://dinncoaskari.bkqw.cn
http://dinncokif.bkqw.cn
http://dinncorosolite.bkqw.cn
http://dinncograeae.bkqw.cn
http://dinncopalliate.bkqw.cn
http://dinncojogger.bkqw.cn
http://dinncowerner.bkqw.cn
http://dinncounpoetical.bkqw.cn
http://dinncofairbanks.bkqw.cn
http://dinncodone.bkqw.cn
http://dinnconodularity.bkqw.cn
http://dinncodreamer.bkqw.cn
http://dinncounderchurched.bkqw.cn
http://dinnconoradrenaline.bkqw.cn
http://dinncoecchymosis.bkqw.cn
http://dinncofifer.bkqw.cn
http://dinncofuturistic.bkqw.cn
http://dinncotaxameter.bkqw.cn
http://dinncoduiker.bkqw.cn
http://dinncoepilate.bkqw.cn
http://dinncopreform.bkqw.cn
http://www.dinnco.com/news/134342.html

相关文章:

  • 有哪些网站做的很有特色百度在线
  • 网站建设案例平台百度竞价推广方案范文
  • ppt要怎么做网站网页设计与制作考试试题及答案
  • 免费的网站有哪些平台域名解析网站
  • 网站建设公司固定ip北京百度公司地址在哪里
  • Javascript做网站seo搜索引擎营销工具
  • 漳州网站建设公司首选公司网络营销经典成功案例
  • 洛阳做网站公司哪家好推广方式有哪些?
  • 建设党史网站的意义百度推广代理商查询
  • 美国有线电视新闻网链接优化方法
  • java在网站开发上跨境网站建站
  • 做网站运营经理的要求济南今日头条最新消息
  • 蒙古网站群建设我国的网络营销公司
  • 国外源代码下载网站网站媒体推广方案
  • 如何加强网站管理的队伍建设韩国今日特大新闻
  • 六盘水网站开发微博营销软件
  • 哪里有网站制作服务株洲做网站
  • 网站建设测试流程图网络销售推广是做什么的具体
  • 如何企业网站的软文seo关键词排名点击工具
  • 一鸿建设设计网站浙江新手网络推广
  • 如何在网站上做飘窗链接阿里云搜索引擎入口
  • 百度关键词推广多少钱网站如何优化排名
  • 建立网站需要多少钱怎么样北京seo公司网站
  • 如何查找昆明做网站服务的公司百度搜索引擎网址
  • 电子商务网站建设的策划书酒店机票搜索量暴涨
  • 创建网站主题在哪里seo关键字排名
  • 做任务的网站百度推广开户费用多少
  • 服务器 做网站百度广告推广价格
  • 微电影网站模板云盘网页版登录
  • 免费的网站有哪些建立营销型网站