首页 > 数据库 >测试使用QT来连接SQLServer并取出表格数据

测试使用QT来连接SQLServer并取出表格数据

时间:2023-08-20 22:32:52浏览次数:42  
标签:QT 表格 db SQLServer arg qDebug include QSqlDatabase

测试使用QT来连接SQLServer并取出表格数据

添加引用

工程文件需要加入 

QT += sql

在main.cpp添加头文件引用

//添加头文件
#include <qdebug.h>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>

连接数据库

  QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");
    db.setDatabaseName(QString("DRIVER={SQL SERVER};"
                               "SERVER=%1;" //服务器名称
                               "DATABASE=%2;"//数据库名
                               "UID=%3;"           //登录名
                               "PWD=%4;"        //密码
                               )
                       .arg("localhost")
                       .arg("TEST1")
                       .arg("sa")
                       .arg("111111")
                       );
    if (!db.open())    {
        qDebug()<<"connect sql server failed!";

    } else {
        qDebug()<<"connect sql server successfully!";
    }

获取得当前连接数据所有表名

  qDebug() <<  "取得所有表名";
  QStringList tabelle = db.tables(QSql::Tables);
  qDebug() << tabelle.join(",");


获取表数据

qDebug() <<  "查询表t1并取出数据";
  //查询数据
  //QSqlQuery sql_query(db);
  QSqlQuery sql_query("select name from dbo.t1" );

    while(sql_query.next())
    {
      //  int id = sql_query.value(0).toInt();
        QString name = sql_query.value(0).toString();
       // int age = sql_query.value(2).toInt();
        qDebug()<<QString("name:%1 ").arg(name);
    }

测试结果

测试使用QT来连接SQLServer并取出表格数据_QT


在测试过程遇到错误:QSqlDatabase: QODBC driver not loaded

测试使用QT来连接SQLServer并取出表格数据_QODBC_02

将QT安装目录中 plugins\sqldrivers复制Debug或release下即可

例如:D:\Qt\Qt5.9.9\5.9.9\mingw53_32\plugins\sqldrivers

测试使用QT来连接SQLServer并取出表格数据_QT_03

复制到 

测试使用QT来连接SQLServer并取出表格数据_SQLServer_04

复制时注意构建配置的Debug还是Release

测试使用QT来连接SQLServer并取出表格数据_QT_05


标签:QT,表格,db,SQLServer,arg,qDebug,include,QSqlDatabase
From: https://blog.51cto.com/u_12668715/7164406

相关文章

  • 树链剖分 | 洛谷 P4114 Qtree1
    前言题目链接:洛谷P4114Qtree1前置知识:树链剖分题意给定一棵树,有修改边权和查询两点之间边权最大值两种操作,对于每个查询输出结果。解析已经在前置博客里提到,树链剖分可以将树上的任意一条路径划分成不超过\(O(\logn)\)条连续的链,保证划分出的每条链上的节点DFS序......
  • QT6新特性
    支持C++17标准。Qt6要求使用兼容C++14标准的编译器,以便使用一些C++语言的新特性。Qt核心库的改动。设计了新的属性和绑定系统;字符串全面支持Unicode;修改了QList类的实现方式,将QVector类和QList类统一为QList类;QMetaType和QVariant是Qt元对象系统的基础,这两个类在Qt6中......
  • Qt安卓开发经验技巧总结V202308
    01:01-05pro中引入安卓拓展模块QT+=androidextras。pro中指定安卓打包目录ANDROID_PACKAGE_SOURCE_DIR=$$PWD/android指定引入安卓特定目录比如程序图标、变量、颜色、java代码文件、jar库文件等。AndroidManifest.xml每个程序唯一的一个全局配置文件,里面xml格式的......
  • Qt编写网易云界面 (1) -----主框架的实现
    为了增强自己的Qt桌面应用项目经验及技术,今天开个坑,实现网易云的基本页面。先放一个参考依据我们就以这个为主要,先来实现主界面,素材就在网上找,推荐一个素材网站:iconfont-阿里巴巴矢量图标库这是项目工程截图主要实现了第一行的各个按键,实际效果如图:目前只实现了查号关闭......
  • QT设置widget背景图片
    首先说方法,在给widget或者frame或者其他任何类型的控件添加背景图时,在样式表中加入如下代码,指定某个控件,设置其背景。类名#控件名{填充方式:图片路径}例如:QWidget#Widget{border-image:url(:/resource/bg2.png);}或者QFrmae#frame{border-image:url(:/resou......
  • 将表格压缩为一行 进行统计 以供匹配
    classClass_test:def__init__(self):self.fun_5_1()#若无则报错AttributeError:'Class_test'objecthasnoattribute'fun_zip'deffun_zip(self,df_arg=pd.DataFrame(),bool_arg=False):......
  • qt qq登录界面
    步骤:    做好了一个新的界面:   接下来开始添加图片:                  接下来进行界面的切换。         接下来通过点击按钮,进行界面的切换。           ......
  • qt之QRadioButton中选中和未被选中的两种状态使用
    点击按钮,选择转到槽的时候,选择cliked(bool)选项 以下是代码部分关于两种状态的使用1voidWidget::on_radioButton_clicked(boolchecked)2{3if(checked==0){4qDebug()<<4/qRound(1.4999999);5qDebug()<<"000";6}elseif(checked==......
  • 两步实现springBoot导出带动态表格的word docx文档
    1.第一步导入poi依赖<!--ApachePOI--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency>......
  • SQLserver批量批量导出索引
    WITHindexInfoas(SELECTSCHEMA_NAME(t.schema_id)[schema_name],t.nameas[table_name],t1.nameas[index_name],t1.type,t1.type_desc,t1.is_unique,t1.is_primary_key,t1.is_unique_constraint,t1.has_filter,t1.filter_definition,STUFF((SELECT�......