对QSqlite数据库的操作
来源:互联网 发布:电机正反转编程 编辑:程序博客网 时间:2024/06/05 08:01
我刚开始学习数据库,觉得很有用,就转载供以后参考。
首先新建一个数据库:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("database.db");
给数据库文件加密:
db.setUserName("hsl");
db.setPassword("000000"); //注意,这仅仅是对database.db这个文件进行加密
将数据库显示在QTableView中
QTableView *selectView;
QSqlTableModel *model;
model=new QSqlTableModel(this);
model->setTable("表名");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();
model->setHeaderData(0,Qt::Horizontal,tr("xx"));
model->setHeaderData(1,Qt::Horizontal,tr("xx"));
model->setHeaderData(2,Qt::Horizontal,tr("xx"));
selectView=new QTableView(this);
selectView->setAlternatingRowColors(true);//可以改变QableView颜色
selectView->setModel(model);
对QtableView中的数据进行操作:
在tableview中升序排列:
model->setSort(0,Qt::AscendingOrder); //id属性,即第0列,升在tableview中序排列
model->select();
在tableview中按降序 排列:
model->setSort(0,Qt::DescendingOrder);
model->select();
在tableview中删除行
int curRow = ui->tableView->currentIndex().row(); //获取选中的行
model->removeRow(curRow); //删除该行
int ok = QMessageBox::warning(this,tr(“删除当前行!”),tr(“你确定删除当前行吗?”),QMessageBox::Yes,QMessageBox::No);
if(ok == QMessageBox::No)
{
model->revertAll(); //如果不删除,则撤销
}
else
model->submitAll();
在tableview中插入
int rowNum = model->rowCount(); //获得表的行数
int id = 10;
model->insertRow(rowNum); //添加一行
model->setData(model->index(rowNum,0),id);
对数据库表进行查询
(1)全字匹配
QString str = "hsl";
model->setFilter(QObject::tr("name = '%1'").arg(str));
model->select();
(2)模糊匹配
QString str = a_ui->find_lineEdit->text();
//QT正则表达式
rx.setPatternSyntax(QRegExp::RegExp);
//匹配格式为所有数字组成的字符串,位数不限
rx.setPattern(QString("^[0-9]+$"));
//如果全是数字,进行 ID 的模糊查询
if(rx.exactMatch(str))
{
model->setFilter(QString::fromLocal8Bit("dish_no like '%1'").arg(QString("%")+=str+=QString("%")));
model->select();
}
else
{
model->setFilter(QString::fromLocal8Bit("dish_name like '%1'").arg(QString("%")+=str+=QString("%")));
model->select();
}
- 对QSqlite数据库的操作
- 对QSqlite数据库的操作
- 对QSqlite数据库的操作
- QSQLITE 数据库操作总结
- QSQLITE 数据库操作总结
- Qt---自带的数据库QSQLITE
- Qt---自带的数据库QSQLITE
- QT 自带的数据库 QSQLITE
- Qt使用QSQLITE数据库
- QT 5.6 自带的数据库QSqlite 使用实例
- 对数据库的操作
- QSQLITE
- QSqlite
- QSqlite 加载失败的解决方法
- java对数据库的操作
- 对数据库操作的javabean
- javascript对数据库的操作
- Log4J对数据库的操作
- Android也架构之二:单例模式访问网络
- SAP HANA 学习指南
- 腾讯微博API调试工具
- QSQLITE 数据库操作总结
- 短址(short URL)原理及其实现
- 对QSqlite数据库的操作
- javascript最常用的55个经典技巧
- content Provider
- commons-net3的一些应用
- MFC学习之 Cstring 转 Char* 和 Char* 转 Cstring
- C/C++笔试系列--从一道IBM的笔试题看编码规范
- 感悟----------人之所以痛苦,在于追求错误的东西
- 虚拟摄像头该如何实现
- Tencent vs. Sina