话不多说,直接开始。
首先打开QT,新建项目
选择Qt Widgets Application(我的是QT5.7版本,有的版本上的叫QT gui什么的)
然后确认选择并将此项目改名为data
然后一直下一步知道完成。出现如下界面
然后在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());
}
然后将刚刚写好的函数opendata用到main函数里面去。
然后我们在哪里看我们打开的数据库呢?双击mainwindow.ui进入到界面设计页面。在buttons和views里面分别选取一个pushbutton和tableview
右键pushbutton可以对按钮进行操作,选择转到槽,出现如下界面
点击ok即可,然后就跳转到了mainwindow.cpp。
然后添加包含文件#include<QtSql/QSqlQueryModel>。
QSqlQueryModel是一个对sql操作的类,可以对他进行增删查改。
然后点击运行之后就出现了错误。
其原因是没有定义数据库类。这个问题解决很简单,只要在.pro文件里面加上QT +=sql就好了。在此点击运行
界面就做出来了,点击pushbutton。
实验完成。
最后介绍一下ODBC。
开放数据库互连(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
通过在ODBC里面添加数据源,就能够方便有效的实现数据库的链接,下面我们来建一个odbc的数据源。
首先在找到odbc
选择添加,然后选择SQL Sever
然后点击完成,就会跳转出来一个页面,给你的数据源起一个名称,还有选择一个服务器。
关于选择服务器有很多不同的方法,远程连接就填ip地址,本地连接有的要填(local)或者本地数据库服务器的名字或者
sql试用版的填的是./sqlexpress.我的填的是(local),记住,括号要是英文的,不然后面会出错。
点击下一步就会出现下面的一个界面。
这个选择是基于你安装sql时选择的登录方式的。如果是windows验证的就选择上面的,如果是混合验证就是下面的,并且还要填写id和密码。
然后下一步,如果之前的操作有错误这里就会出现错误了。如果没有就会出现下面的界面。
这里要选择数据库了,在你选择了服务器后,会有一个默认的数据库master,这里你要改成你自己的数据库
然后就一直继续知道完成,这样一个数据源就建好了。