qt -- 数据库相关操作

目录

数据库连接

数据库关闭

相关操作

查询

修改

添加

删除


数据库连接

------------------------MYSQL---------------------------
// 创建数据库连接,指定数据库驱动
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

// 数据库连接需要设置的信息
db.setHostName("127.0.0.1"); // 数据库服务器IP,本地数据库
db.setDatabaseName("ceshi"); // 数据库名    
db.setUserName("root");      // 用户名    
db.setPassword("123456");    // 密码
db.setPort(3306);            // 端口号

// 连接数据库
bool ok = db.open();
if (ok)
{
    qDebug() << "database connect is success";
}
else
{
    qDebug() << "database connect is fail";
}

-----------------------SQLite----------------------------
//添加数据库驱动
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
//设置数据库名称
db.setDatabaseName("test.db");
// 连接数据库
bool ok = db.open();
if (ok)
{
    qDebug() << "database connect is success";
}
else
{
    qDebug() << "database connect is fail";
}

数据库关闭

void closeDB()
{
    if(db) 
    {
        if(db->isOpen()) 
        {
            db->close();
        }
    }
}

相关操作

 查询

bool selectImgMd5(const QString &imgMd5, QStringList& lists)
{
    bool bRet = false;
    lists.clear();
    if(db)
    {
        QSqlQuery query(*db);
        query.exec(QString("select type from %1 where imgMd5 = '%2' ")
                   .arg("img_table")
                   .arg(imgMd5));
        while(query.next())
        {
            lists<< query.value("type").toString();
            bRet = true;
        }
    }
    return bRet;
}

修改

bool updateImgInfoByMd5(const QString &md5)
{
    bool bRet = false;

    if(db)
    {
        QSqlQuery query(*db);

        query.prepare(QString("UPDATE %1 SET %2 where imgMd5= '%3' ")
                      .arg("img_table")
                      .arg("name = ?")
                      .arg(md5));

        query.bindValue(0, img);

        bRet = query.exec();
    }

    return bRet;
}

添加

bool insertImg(const QString& md5, const QString& name)
{
    bool bRet = false;
    if(db)
    {
        QSqlQuery query(*db);
        if(!bImgData)
        {
            //添加图片数据
            query.prepare(QString("INSERT INTO %1(%2) VALUES(%3)")
                          .arg("img_table")
                          .arg("name, imgMd5")
                          .arg("?, ?"));
            query.addBindValue(name);
            query.addBindValue(md5);
            bRet = query.exec();
        }
    }
    return bRet;
}

删除

bool deleteImgByMd5(const QString& md5)
{
    bool bRet = false;

    if(sqlDB)
    {
        QSqlQuery query(*sqlDB);
        bRet = query.exec(QString("delete from %1 where imgMd5 = '%2' ")
                          .arg("img_table")
                          .arg(md5));
    }
    return bRet;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值