QT创建数据库(QT4.11.1)

在Qt中使用数据库需要使用Qt提供的数据库模块,主要是Qt SQL模块。下面是使用Qt编写一个数据库的基本步骤:

引入头文件:在代码文件中引入相关的头文件,包括 QSqlDatabaseQSqlQuery 等。

cpp

#include 
#include 

连接数据库:使用 QSqlDatabase 类连接数据库,并设置连接参数。可以选择使用内置的数据库驱动(如SQLite)或者第三方数据库驱动。

cpp

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("database.db");  // 数据库文件名
if (!db.open()) {
    qDebug() << "无法连接到数据库!";
    return;  // 连接失败
}

创建表格:使用 QSqlQuery 类执行 SQL 语句来创建表格。

cpp
QSqlQuery query;
if (!query.exec("CREATE TABLE IF NOT EXISTS MyTable (ID INT PRIMARY KEY, Name VARCHAR(255))")) {
    qDebug() << "无法创建表格!";
    return;  // 创建表格失败
}

插入数据:使用 QSqlQuery 类执行 SQL 语句来插入数据。

cpp
QSqlQuery query;
query.prepare("INSERT INTO MyTable (ID, Name) VALUES (:id, :name)");
query.bindValue(":id", 1);
query.bindValue(":name", "John Doe");
if (!query.exec()) {
    qDebug() << "无法插入数据!";
    return;  // 插入数据失败
}

查询数据:使用 QSqlQuery 类执行 SQL 语句来查询数据。

cpp

QSqlQuery query("SELECT * FROM MyTable");
while (query.next()) {
    int id = query.value("ID").toInt();
    QString name = query.value("Name").toString();
    qDebug() << "ID:" << id << "Name:" << name;
}

关闭数据库连接:在程序退出前,关闭数据库连接。

cpp
db.close();

以上是在Qt中使用数据库的基本步骤。需要注意的是,具体的数据库操作和语法会因不同的数据库类型而有所差异,可以根据使用的数据库类型来适配相应的 SQL 语句。此外,还可以使用 Qt 提供的模型视图框架(如 QSqlTableModel 或 QSqlQueryModel)来简化数据库操作和与界面的交互。

1、创建一个表

格式为:create table 表名(内容 类型);

例:create table student(number int , name char(32), score double);

2、向表中插入信息

格式为:insert into 表名 values(表中的内容);

例:insert into student values(1, 'xiaoming', 99);
QT中的使用:
QString("insert into User_Message(user,password) values('%1','%2')").arg(user1).arg(password1);

3、从表格中删除信息

格式为:delete from 表名 where 列名 = 条件;

例:delete  from student where name = 'xiaoming';

4、查询表中的内容

(1)格式为:select 列名 from 表名 where 列名 = 条件;

例:select score from student where name = 'xiaoming';

(2)我们可以用这样的语句查询所有的信息

select * from student;

5、修改表中的数据

格式为:update 表名 set 列名 = 新内容 where 列名 = 条件;

例:update student set score = 66 where name = 'xiaoming';

6、从数据库中删除一个表

格式为:drop table 表名;

例:drop table student;

你可能感兴趣的:(数据库,qt,oracle)