我正在创建一个数据库应用程序。我的代码运行正常。但我找不到创建的数据库。我也找不到sqlite consol窗口了。它只显示我手动创建的内容。
这是我的代码:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("student.db");
db.open ();
//check
qDebug() << "Database is open: " << db.isOpen ();
qDebug() << "Database is valid: " << db.isValid ();
//database open or not
if (!db.open())
{
qDebug() << "Error: connection with database failed";
}
else
{
qDebug() << "Database: connection ok";
}
//create query
QSqlQuery query;
//create tables
query.prepare ("CREATE TABLE student_info(sid integer primary key, name text)");
//insert data
query.prepare ("INSERT INTO student_info VALUES(1, 'Hasibul')");
query.prepare ("INSERT INTO student_info VALUES(2, 'Hasib')");
query.prepare ("INSERT INTO student_info VALUES(3, 'Hasan')");
//query all data
query.prepare ("SELECT * FROM student_info");
//execute query
if(!query.exec ()){
QMessageBox::critical (this, "Database Error!", query.lastQuery (), QMessageBox::Ok);
} else {
QMessageBox::information (this, "Database Information!", "Successful.", QMessageBox::Ok);
}
//find data from database and print
while(query.next ()){
int id = query.value (0).toInt ();
QString name = query.value (1).toString ();
qDebug() << id << name << endl;
}
//after finish work close database
db.close ();
我创建了loan_manager.db,但我不知道如何连接setDatabaseName();有没有办法连接现有的数据库?感谢
答案 0 :(得分:1)
setDatabaseName
对不同的数据库后端意味着不同的东西。对于SQLITE,它意味着:“设置数据库文件名”。
如何连接到我使用sqlite创建的现有数据库。
将绝对路径提供给setDatabaseName
。