qt连接sql数据库(ODBC)

时间:2021-10-03 19:57:55

话不多说,直接开始。

首先打开QT,新建项目

选择Qt Widgets Application(我的是QT5.7版本,有的版本上的叫QT gui什么的)

qt连接sql数据库(ODBC)

然后确认选择并将此项目改名为data

qt连接sql数据库(ODBC)

然后一直下一步知道完成。出现如下界面

qt连接sql数据库(ODBC)

然后在main.cpp中添加sql的头文件以及打开数据库的函数。因为这里涉及到odbc,只有创建了odbc源car之后下面的代码才是有效的,不然会出现错误。所以在文章的最后会介绍odbc的操作过程

void OpenDatabase()
{
      //下面例子sql server上的car数据库上。
    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    db.setDatabaseName("car");
    if(!db.open())
    {
        QMessageBox::about(0, QObject::tr("Database Error"),
                           db.lastError().text());
    }
qt连接sql数据库(ODBC)


然后将刚刚写好的函数opendata用到main函数里面去。

qt连接sql数据库(ODBC)

然后我们在哪里看我们打开的数据库呢?双击mainwindow.ui进入到界面设计页面。在buttons和views里面分别选取一个pushbutton和tableview

qt连接sql数据库(ODBC)

右键pushbutton可以对按钮进行操作,选择转到槽,出现如下界面

qt连接sql数据库(ODBC)

点击ok即可,然后就跳转到了mainwindow.cpp。

qt连接sql数据库(ODBC)


然后添加包含文件#include<QtSql/QSqlQueryModel>。

 QSqlQueryModel是一个对sql操作的类,可以对他进行增删查改。
qt连接sql数据库(ODBC)


qt连接sql数据库(ODBC)

然后点击运行之后就出现了错误。

qt连接sql数据库(ODBC)

其原因是没有定义数据库类。这个问题解决很简单,只要在.pro文件里面加上QT   +=sql就好了。在此点击运行

qt连接sql数据库(ODBC)

界面就做出来了,点击pushbutton。

qt连接sql数据库(ODBC)

实验完成。

最后介绍一下ODBC。

开放数据库互连(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

通过在ODBC里面添加数据源,就能够方便有效的实现数据库的链接,下面我们来建一个odbc的数据源。

首先在找到odbc

qt连接sql数据库(ODBC)

选择添加,然后选择SQL Sever

qt连接sql数据库(ODBC)

然后点击完成,就会跳转出来一个页面,给你的数据源起一个名称,还有选择一个服务器。

关于选择服务器有很多不同的方法,远程连接就填ip地址,本地连接有的要填(local)或者本地数据库服务器的名字或者

sql试用版的填的是./sqlexpress.我的填的是(local),记住,括号要是英文的,不然后面会出错。

qt连接sql数据库(ODBC)

点击下一步就会出现下面的一个界面。

qt连接sql数据库(ODBC)

这个选择是基于你安装sql时选择的登录方式的。如果是windows验证的就选择上面的,如果是混合验证就是下面的,并且还要填写id和密码。

然后下一步,如果之前的操作有错误这里就会出现错误了。如果没有就会出现下面的界面。

qt连接sql数据库(ODBC)

这里要选择数据库了,在你选择了服务器后,会有一个默认的数据库master,这里你要改成你自己的数据库

qt连接sql数据库(ODBC)

然后就一直继续知道完成,这样一个数据源就建好了。