#include
#include
{
QString aFile = QFileDialog::getOpenFileName(this,tr("选择文件"),"",tr("文本文件 (*.txt);;C程序 (*.c *.cpp);;所有的文件 (*.*)"));
}
QString QFileDialog::getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = ...)
参考:https://blog.csdn.net/u013894391/article/details/93928264
使用MinGW编译器和对字符串使用tr();
QMessageBox::warning(this,tr("错误"),tr("打开数据库失败"),QMessageBox::Ok,QMessageBox::NoButton);
#include
QMessageBox::information(this, "成功", "成功连接数据库\n",QMessageBox::Ok,QMessageBox::NoButton);
#### SQLite数据库
##### 创建一个SQLite数据库
- 利用sqlite expert pro创建数据库,创建表,设计表结构。
##### 导入CSV文件
- 利用SQLite官方的sqlite.exe文件
1. sqlite.exe命令窗口下
```bash
sqlite.exe yourdb.db3
进入sqlite命令行后可使用
注意,非SQL命令之前有点符号:"."
.pro文件中添加:
QT += widgets
QT += sql
头文件:
#include
#include
#include
#include
利用qryModel打开数据库执行SQL命令,并将select结果展示在tableview中。
QSqlDatabase DB; //数据库
QSqlQueryModel *qryModel; //数据模型
//利用getOpenFileName获取 数据库文件的绝对路径
QString aFile=QFileDialog::getOpenFileName(this,"选择数据库文件","","SQL Lite数据库(*.db *.db3)");
if (aFile.isEmpty())
return;
//打开数据库
DB=QSqlDatabase::addDatabase("QSQLITE"); //添加 SQL LITE数据库驱动
DB.setDatabaseName(aFile); //设置数据库名称
if (!DB.open()) //打开数据库
{
QMessageBox::warning(this, "错误", "打开数据库失败",QMessageBox::Ok,QMessageBox::NoButton);
return;
}else{
qDebug() << "打开数据库";
}
qryModel=new QSqlQueryModel(ui->tableView); //可以执行任何SQL命令
qryModel->setQuery(QString("SELECT stockNum, stockTime, stockStart, stockEnd, stockid FROM dailystock where dailystock.stockid='000001'"));
if (qryModel->lastError().isValid())
{
QMessageBox::critical(this, "错误", "数据表查询错误,错误信息\n"+qryModel->lastError().text(),QMessageBox::Ok,QMessageBox::NoButton);
return;
}else{
qDebug() <<"qrymodel success";
}
ui->tableView->setModel(qryModel); //设置表视图的模型