QT:数据库总结(一)

QT:数据库总结(一)

完整版本见CSDN
http://blog.csdn.net/reborntercel/article/details/6991147
 
#include <QtSql>
QT += sql
QSqlDatabase类实现了数据库连接的操作
QSqlQuery类执行SQL语句
QSqlRecord类封装数据库所有记录

QSqlDatabase类

view plain copy to clipboard print ?
  1. QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");  
  2. db.setHostName("localhost");    //数据库主机名    
  3. db.setDatabaseName("scott");    //数据库名    
  4. db.setUserName("stott");        //数据库用户名    
  5. db.setPassword("tiger");        //数据库密码    
  6. db.open();          //打开数据库连接   
  7. db.close();         //释放数据库连接  
QSqlDatabase db = QSqlDatabase::addDatabase("QOCI"); db.setHostName("localhost"); //数据库主机名 db.setDatabaseName("scott"); //数据库名 db.setUserName("stott"); //数据库用户名 db.setPassword("tiger"); //数据库密码 db.open(); //打开数据库连接 db.close(); //释放数据库连接

建立数据库文件

view plain copy to clipboard print ?
  1. QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");  
  2. db.setDatabaseName("database.db");  
  3. if (!db.open())   
  4. {  
  5.     qDebug("数据库不能打开");  
  6. }  
  7. return false;  
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("database.db"); if (!db.open()) { qDebug("数据库不能打开"); } return false;
view plain copy to clipboard print ?
  1. 建立数据库文件后创建表并插入两条数据  
建立数据库文件后创建表并插入两条数据
view plain copy to clipboard print ?
  1. QSqlQuery query;  
  2. query.exec("create table student(id INTEGER PRIMARY KEY autoincrement,  
  3.             name nvarchar(20), age int)"); //id自动增加   
  4. query.exec("insert into student values(1,'小明', 14)");  
  5. query.exec("insert into student values(2,'小王',15)");  

你可能感兴趣的:(QT:数据库总结(一))