• 大小: 338KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: 数据库
  • 标签: access连接  

资源简介

基于qt的Access数据库连接与查询源代码,已测试通过

资源截图

代码片段和文件信息

#include “accessdb.h“
#include 

AccessDB::AccessDB()
{
}

bool AccessDB::connectDB(const QString& connectName)
                         //const QString& HostName
                         //const QString& UserName
                         //const QString& Password)
{
        const QString connID(connectName);
        //QString connID = PREFIX +“-“+DatabasePath;
        connection = QSqlDatabase::database(connIDfalse);

        if(connection.isValid())
        {
            if(connection.isOpen())
            return true;
        }
        else
        {
            connection = QSqlDatabase::addDatabase(“QODBC“connID);

            //QString dsn = QString(“DRIVER={Microsoft Access Driver (*.mdb)};FIL={Meteorology Access};DBQ=%1;UID=%3;PWD=%2“)
            //        .arg(DatabasePath).arg(Password).arg(UserName);
            QString DatabasePath = “//10.16.63.10/upload/Patient11.accdb“;
            QString dsn = QString(“DRIVER={Microsoft Access Driver (*.mdb *.accdb)}; FIL={MS Access};DBQ=%1;“).arg(DatabasePath);
            connection.setDatabaseName(dsn);

            //SQL Server数据库连接
            /*QString dsn = “DRIVER={SQL SERVER};SERVER=172.16.2.120\\sqlexpress;DATAbase = RDBS;“;
             *                               //express版本的数据库要加\\sqlexpress
            connection.setHostName(“172.16.2.120“);
            connection.setDatabaseName(dsn);
            connection.setUserName(“mytest“);
            connection.setPassword(“123456“);*/

            if(!connection.open())
            {
                //QMessageBox::critical(0Qobject::tr(“Database Error“)connection.lastError().text());
                qDebug(“Database Error“);
                return false;
            }
            else
            {
                 newQuery();
                 qDebug(“open true“);
                 return true;
             }
        }

        //读数据库中的表
        /*QStringList tables;
        QString tabNamesqlString;
        tables = db.tables(QSql::Tables); //获取表信息
        qDebug()<<“tables.size()“<
        for(int i=0;i        {
            tabName = tables.at(i);
            qDebug()<<“tabName“<            sqlString = “select * from “+tabName;
            QSqlQuery q(sqlString);
            q.exec();
            QSqlRecord rec = q.record();
            int fieldCount = rec.count();
            qDebug() << “Number of columns: “ << fieldCount;
            int j;
            QString fieldName;
            for(j=0;j            {
                fieldName = rec.fieldName(j);
                qDebug()<            }
        }

    model = new QSqlTableModel(this);
    model->setTable(“brqk“);
    model->setEditStrategy(QSqlTableModel::OnManualSubmit);
    model->select();
    ui->tableView->setModel(model);
    */
}

void AccessDB::newQuery()
{
    m_query = new QSqlQuer

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4239  2015-07-09 17:00  AccessTest\accessdb.cpp

     文件        454  2015-07-01 17:03  AccessTest\accessdb.h

     文件        440  2015-05-12 15:42  AccessTest\AccessTest.pro

     文件      18261  2015-07-07 18:00  AccessTest\AccessTest.pro.user

     文件        183  2015-05-12 15:10  AccessTest\main.cpp

     文件       3163  2015-07-09 17:19  AccessTest\mainwindow.cpp

     文件        434  2015-05-23 14:08  AccessTest\mainwindow.h

     文件       2212  2015-05-22 17:57  AccessTest\mainwindow.ui

     文件      19456  2009-07-14 09:41  AccessTest\msswch.dll

     文件     692736  2014-06-18 10:18  AccessTest\osk.exe

     文件    2965504  2015-06-30 17:11  AccessTest\Patient11.accdb

     目录          0  2015-07-09 17:20  AccessTest

----------- ---------  ---------- -----  ----

              3707082                    12


评论

共有 条评论