收集和整理的Qt小程序--数据库篇

网上有很多小程序,本着集腋成裘的思想,把这些小程序整理一下,供大家学习与参考,岂不是一件美事,也为自己的进步做出一些基础。


程序1:SqLite数据编程基础

pro文件中加入

QT += sql

main.cpp

#include <QtCore/QCoreApplication>
#include <QDebug>
#include <QtSql>
#include <QTextCodec>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
    QSqlDatabase dbconn=QSqlDatabase::addDatabase("QSQLITE");    //添加数据库驱动
    dbconn.setDatabaseName("mytest.db");  //在工程目录新建一个mytest.db的文件
    if(!dbconn.open())
    {
        qDebug()<<"fdsfds";
    }
    QSqlQuery query;//以下执行相关QSL语句
    query.exec("create table student(id varchar,name varchar)");    //新建student表,id设置为主键,还有一个name项
    query.exec(QObject::tr("insert into student values(1,'李刚')"));
    query.exec(QObject::tr("insert into student values(2,'苹果')"));
    query.exec(QObject::tr("insert into student values(3,'葡萄')"));
    query.exec(QObject::tr("insert into student values(3,'李子')"));
    query.exec(QObject::tr("insert into student values(4,’橘子')"));
    query.exec(QObject::tr("insert into student values(5,'核桃')"));
    query.exec(QObject::tr("insert into student values(6,'芒果')"));
    query.exec("select id,name from student where id>=1");
    while(query.next())//query.next()指向查找到的第一条记录,然后每次后移一条记录
    {
        int ele0=query.value(0).toInt();      //query.value(0)是id的值,将其转换为int型
        QString ele1=query.value(1).toString();
        qDebug()<<ele0<<ele1;//输出两个值
    }
   query.exec(QObject::tr("drop student"));
   return a.exec();
}

程序

你可能感兴趣的:(收集与整理,Qt程序)