加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

QT 操作数据库及显示数据

(2014-09-04 20:00:36)
标签:

股票


#include "widget.h"
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 


bool connect(const QString &dbName)
{
    QSqlDatabase db;
    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName(dbName);
    if(!db.open())
    {
        QMessageBox::critical(0,QObject::tr("Database Error"),db.lastError().text());
        return false;
    }
    return true;
}


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
   // Widget w;
   // w.show();
    qDebug() << "12";
    if(connect("demo9.db"))
    {
        QSqlQuery query;
        if (!query.exec("CREATE TABLE student ("
                               "id INTEGER PRIMARY KEY AUTOINCREMENT,"
                               "name VARCHAR,"
                               "age INT)"))
        {
            QMessageBox::critical(0,QObject::tr("Database1 Error"),query.lastError().text());
            qDebug() << "123";
            return 1;
        }
        else
        {
            qDebug() << "1234";
            //return 1;
        }
    }


    if(connect("demo9.db"))
    {
        QSqlQuery query;
        query.prepare("INSERT INTO student(name,age) VALUES(?,?)");
        QVariantList names;
        names << "Tom" << "Jack" << "Jane" << "Jerry";
        query.addBindValue(names);
        QVariantList ages;
        ages << 20 << 21 << 22 << 23 ;
        query.addBindValue(ages);
        if(!query.execBatch())
        {
             QMessageBox::critical(0,QObject::tr("Database2 Error"),query.lastError().text());
        }
        query.finish();
        query.exec("SELECT name,age FROM student");
        while(query.next())
        {
            QString name = query.value(0).toString();
            int age = query.value(1).toInt();
            qDebug() << name << ":" << age;
            qDebug() << "12";
        }


    }
    else
    {
        qDebug() << "12234";
        return 1;
    }
    qDebug() << "12";


    if(connect("demo9.db"))
    {
        QSqlTableModel *model = new QSqlTableModel();
        model->setTable("student");
        model->setSort(1,Qt::AscendingOrder);//设置第二列升序排列
        //model->setData(1,Qt::Horizontal,"Name");
       // model->setData(2,Qt::Horizontal,"Age");
        model->select();


        QTableView *view = new QTableView;
        view->setModel(model);
        view->setSelectionMode(QAbstractItemView::SingleSelection);//设置选择模式
        view->setSelectionBehavior(QAbstractItemView::SelectRows);//设置选择行为
        view->resizeRowsToContents();
        view->setEditTriggers(QAbstractItemView::NoEditTriggers);//设置不可编辑




      //  QHeaderView *header = view->horizontalHeader();
      //  header->setStretchLastSection(true);//设置拉伸爽口时最后的列一直占据空间


        view->show();


    }
    
    return a.exec();
}

http://s6/mw690/002nmMV1ty6LMAnrMBn65&690操作数据库及显示数据"  TITLE="QT 操作数据库及显示数据" />


 

0

阅读 收藏 喜欢 打印举报/Report
后一篇:qt_360小界面
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有