Qt连接Sql Server数据库

本文通过一个具体例子展示了如何使用Qt进行数据库操作。首先,在工程文件中启用Qt SQL模块,接着创建了一个包含人员信息的表,并插入多条记录。随后,通过C++代码连接到SQL Server数据库,执行SQL查询来获取年龄大于21岁的人员信息。
1.在工程文件.pro内加上QT += sql
2.创建一个表并插入数据
create table person
(
id int primary key,
name char (15),
age int
)
insert into person values ('01' , '周杰伦', '20' );
insert into person values ('02' , '王杰', '22' );
insert into person values ('11' , '刘涛', '23' );
insert into person values ('12' , '张杰', '25' );
insert into person values ('13' , '成龙', '26' );
insert into person values ('14' , '李毅', '35' );
insert into person values ('15' , '许嵩', '28' );
insert into person values ('16' , '方力申', '21' );

3.代码实现
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>


static bool createConnection()

{

    QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");

    db.setDatabaseName(QString("DRIVER={SQL SERVER};"
                               "SERVER=%1;"
                               "DATABASE=%2;"
                               "UID=%3;"
                               "PWD=%4;"
                               ).arg("GDCZT").arg("BookManageSystem")

                                .arg("sa").arg("ggjk"));



    if(!db.open())

    {

        qDebug()<<"the database can't be connected";

        return false;

    }

    qDebug()<<"the database is already connected";

    return true;

}



int main(int argc, char *argv[])

{

    QCoreApplication a(argc, argv);

    if(!createConnection())

    {

        qDebug()<<"can't connect";

        return 1;

    }

    QSqlQuery query;

    query.exec("select * from person where age>21");

    while(query.next())

    {

        int id=query.value(0).toInt();

        QString name=query.value(1).toString();

        int age=query.value(2).toInt();

        qDebug()<<"the id is:"<<id<<"\t"<<"name is:"<<name<<"the age is:"<<age;

    }

    return a.exec();

}

4.运行结果


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值