Qt--- DataBase

a database connection is represented by a QSqlDatabase object and to execute SQL queries, we must first establish a connection with a database.

 

1 1 . bool createConnection()
2 2 . {
3 3 . QSqlDatabase db = QSqlDatabase::addDatabase( " QMYSQL " );
4 4 . db.setHostName( " mozart.konkordia.edu " );
5 5 . db.setDatabaseName( " musicdb " );
6 6 . db.setUserName( " gbatstone " );
7 7 . db.setPassword( " T17aV44 " );
8 8 . if ( ! db.open()) {
9 9 . QMessageBox::critical( 0 , QObject::tr( " Database Error " ),
10 10 . db.lastError().text());
11 11 . return false ;
12 12 . }
13 13 . return true ;
14 14 . }

 

if open() fails, we show an error message.


Once a connection is established, we can use QSqlQuery to execute any SQL statement that the underlying database supports

 

1 1 . QSqlQuery query;
2 2 . query.exec( " SELECT title, year FROM cd WHERE year >= 1998 " );

 

We call next() once to position the QSqlQuery on the first record of the result set

if the result set is empty , the frist call to next() will return false

当然我们并不是所以内容都希望转换为string 类型的,而 prepare() 可以使用户使用指定的类型的变量,如果我们希望create multiple cconnections, we can pass a name as second argument to   addDatabase()

QSqlDatabase::addDatabase("QPSQL","OTHER");

转载于:https://my.oschina.net/xujiajay/blog/10993

Qt是一种跨平台的应用程序开发框架,提供了丰富的类库和工具,方便开发者开发各种类型的应用程序。其中,Qt数据库模块(Qt Database)提供了数据库访问接口,方便开发者与数据库进行交互。 在Qt中,引用database例子可以通过以下步骤实现: 1. 导入必要的头文件:在代码文件的顶部,需要导入Qt Database模块的头文件,例如`#include <QtSql>`。 2. 连接数据库:使用`QSqlDatabase`类的静态函数`addDatabase()`来添加数据库连接。可以指定数据库类型(例如MySQL、SQLite等)、连接名称和连接参数。 3. 打开数据库连接:在完成数据库连接的配置后,可以使用`QSqlDatabase`的`open()`函数来打开与数据库的连接。 以下是一个简单的示例代码,展示了如何在Qt中引用数据库: ```cpp #include <QCoreApplication> #include <QSqlDatabase> #include <QSqlQuery> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 添加数据库连接 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); db.setDatabaseName("mydb"); db.setUserName("username"); db.setPassword("password"); // 打开数据库连接 if(db.open()) { // 数据库连接成功 QSqlQuery query; query.exec("SELECT * FROM mytable"); while(query.next()) { // 逐行处理查询结果 int id = query.value(0).toInt(); QString name = query.value(1).toString(); qDebug() << "ID:" << id << "Name:" << name; } db.close(); } else { // 数据库连接失败 qDebug() << "Failed to connect to database"; } return a.exec(); } ``` 该示例中,首先通过`QSqlDatabase::addDatabase()`函数添加了名为"QMYSQL"的MySQL数据库连接,并配置了连接的相关参数。然后,使用`db.open()`函数打开与数据库的连接。接着,通过`QSqlQuery`对象执行SQL查询语句,并使用`query.next()`和`query.value()`逐行处理查询结果。最后,在程序结束时通过`db.close()`关闭与数据库的连接。 通过以上的步骤,就可以在Qt中引用database例子,并与数据库进行交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值