Qt数据库sqlite

  支持多种数据库,但大多都需要装驱动。qDebug() << QSqlDatabase::drivers();

 1     //添加数据库
 2     QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
 3     //连接数据
 4     db.setDatabaseName("../debug/Student"); //设定将要使用的数据库的名字
 5     //打开数据库
 6     if(!db.open())
 7     {
 8         QMessageBox::warning(this, "错误", db.lastError().text());
 9         return ;//打开失败
10     }
11     QSqlQuery query;
12     query.exec("CREATE TABLE IF NOT EXISTS  people (id INTEGER PRIMARY KEY AUTOINCREMENT,"
13                                        "name VARCHAR(20) NOT NULL,"
14                                        "age INTEGER NULL)");
15 //    for (int i = 0; i< 3; ++i)
16 //    {
17 //        query.prepare("INSERT INTO people (id, name, age) VALUES (:id, :name, :age)");
18 //        query.bindValue(":name", QString("smith_%1").arg(i+1));
19 //        query.bindValue(":age", 20+i*5);
20 //        query.exec();
21 //    }
22     if (query.exec("insert into people(id, name, age) values(2, 'lucy', 22);"))
23     {
24         qDebug()<<"insert success/n";
25     }
26     else{
27         qDebug()<<"insert failed";
28     }
29     query.exec("SELECT id, name, age FROM people");
30     while (query.next())//执行查找语句的结果
31     {
32         qDebug()<<"people:"<<query.value(0).toInt()<<"    name:"<<query.value(1).toString()<<"  age:"<<query.value(2).toInt();
33     }
34     db.close();

猜你喜欢

转载自www.cnblogs.com/wangbin-heng/p/9614250.html