【问题标题】:Qt: How to connect to SQLite?Qt:如何连接到 SQLite?
【发布时间】:2015-05-03 00:20:17
【问题描述】:

我安装了 SQLite3(解压到 c:/sqlite),创建了一个数据库(c:/sqlite/mzsales)。现在我试图在 QTableView 中显示它的内容。

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setHostName("localhost");
db.setDatabaseName("mzsales");
bool db_ok = db.open();

db_ok 为真。那么

QSqlTableModel *model = new QSqlTableModel(0, db);
model->setTable("person");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
bool tbl_ok = model->select();

tbl_ok 为假。

我做错了什么?我如何连接到数据库?谢谢!

【问题讨论】:

  • SQLite 数据库包含在一个文件中;它不是“服务器”。我不确定它是如何在 Qt 中完成的,但你必须在某处指定一个完整的文件名。

标签: sqlite qt


【解决方案1】:

得到了答案。这里是:

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("C:\\sqlite\\mzsales");
bool db_ok = db.open();

无需连接,只需指定路径即可。

【讨论】:

  • 看起来那些双斜杠 `\` 很重要。路径中的单斜杠不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多