学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 高等教育 > 工学 > QT操作数据库

QT操作数据库

QT对数据库的操作

#include <QMessageBox>
#include <QSqlQuery>
#include <QtDebug>
#include <QSqlError>
#include <QStringListModel>
#include <QFile>
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
if (!connectDB())
return;

ui->setupUi(this);

getSno();

ui->snolistWidget->addItems(snos);

setProblems();

getvStu();
}

Widget::~Widget()
{
db.close();

if(!vStu.empty()){
for(it = vStu.begin(); it != vStu.end(); ++it){
delete *it;
}
vStu.clear();
}

delete ui;
}

bool Widget::connectDB()
{
//下面例子连接到127.0.0.1上的sql server名为OJ的数据库上。 程序中指定此连接的名称为OJ
db = QSqlDatabase::addDatabase("QODBC", "OJ");
db.setHostName("127.0.0.1"); //如果dsn中已经含有SERVER,可以省略此句
db.setPort(1433);
QString dsn = QString::fromLocal8Bit("DRIVER={SQL SERVER};SERVER=127.0.0.1;DATABASE=OJ");
//如果已经设定DSN,可以写为QString::fromLocal8Bit("SQLSERVER_DSN")
db.setDatabaseName(dsn);
//即使dsn中已经设置了UID和PASSWD,仍然需要执行setUserName和setPassword的步骤
db.setUserName("sa");
db.setPassword("123456");

if (!db.open()) {
QMessageBox::critical(0, qApp->tr("Cannot open database"),
qApp->tr("Unable to establish a database connection."
), QMessageBox::Cancel);
return false;
}

return true;
}

void Widget::getSno()
{
QSqlQuery query(db);
QString sql = QString::fromLocal8Bit("select 学号 from 学生表 where (学号 LIKE 'C%') AND (用户类型 = 2)");
query.exec(sql);

while(query.next())
{
snos << query.value(0).toString();
}
}

void Widget::setProblems()
{
QSqlQuery query(db);
QString sql = QString::fromLocal8Bit("select 描述, 提示 from 题目表 where 题号 = 1266");
query.exec(sql);

QString temp = "";
while(query.next())
{
temp = query.value(0).toString();
temp += '\n';
temp += query.value(1).toString();
}

//qDebug() << temp;
problems << temp;

sql = QString::fromLocal8Bit("select 描述, 提示 from 题目表 where 题号 = 1265");
query.exec(sql);

while(query.next())
{
temp = query.value(0).toString();
temp += '\n';
temp += query.value(1).toString();
}
problems << temp;

sql = QString::fromLocal8Bit("select 描述, 提示 from 题目表 where 题号 = 1264");
query.exec(sql);

while(query.next())
{
temp = query.value(0).toString();
temp += '\n';
temp += query.value(1).toString();
}
problems << temp;

}


void Widget::clear_listWidget(QListWidget *listWidget)
{
QListWidgetItem *item=li

第1页

TOP相关主题

  • qt数据库
  • qt操作excel
  • qt操作sqlite数据库
  • qt数据库编程实例
  • qt access数据库
  • qt操作mysql数据库
  • qt连接mysql数据库
  • qt连接数据库

我要评论

相关文档

  • Qt数据库操作

    Qt数据库操作_计算机软件及应用_IT/计算机_专业资料。Qt数据库操作及xml文件读写,数据库包括mysql环境搭建、常用数据库操作方法等二十一...

  • QT4_数据库操作

    QT4_数据库操作_工学_高等教育_教育专区。QT4_数据库操作QT 4 数据库操作张宾卡 ? 驱动编译 ? 数据库连接 ? SQL执行操作 SQL执行操作 ? 使用SQL 使用SQL ...

  • QT4 数据库操作

    QT4 数据库操作_IT/计算机_专业资料。主要总结QT4,数据操作的方法,以及ODBC,OCI,连接方法,以及界面显示与数据的关联。QT 4 数据库操作张宾卡 驱动编译 数据库连...

  • QT在vs环境下操作数据库

    Qt 连接数据库 1:连接 sqlite m_dstDB = QSqlDatabase::addDatabase("QSQLITE","tempsql"); //tempmsql 为了不取默认连接,若果只是用一个数据库的时候可以省略...

  • Qt数据库编程

    Qt 数据库编程 现在 我们讲 使用 数据库 来进 行变 成, 具体 的提 供了 ...来操作数据库, 在 连接数据库之后还提供了几个类, 例如 QSqlError , QSqlField...

  • QT数据库

    #include <QtSql> QT += sql QSqlDatabase 类实现了数据库连接的操作 QSqlQuery 类用来执行 SQL 语句 QSqlRecord 类 封装数据库所有记录 第一:QSqlDatabase 类 ...

  • Qt数据库总结

    符合要求的在 mode 表格中显示出来 //在筛选和排序的条件下,将数据库中 void QSqlTableModel::setSort ( int column, Qt::SortOrder order ) //排 序操作。按...

  • Qt开发入门教程11_Qt数据库

    QSqlDatabase类实现了数据库连接的操作,现在Qt支持的数据库类型 有如下几种: ? 免费的Qt只提供了SQLite和ODBC数据库的驱动 (我们可以在Qt Creator安装目 录下的...

  • QT中ODBC数据库操作

    QT中ODBC数据库操作(-) (2011-01-26 15:02:20) 分类: QT专栏 1.QT中ODBC数据库编译如果你在安装QT时什么也没有配置,通常只会有QSQLITE出现。这样...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.xuehai.net All Rights Reserved.  email
返回顶部