当前位置:首页 » 参考文献 » qt数据库操作

qt数据库操作

发布时间: 2021-03-31 02:15:43

Ⅰ 如何用Qt连接数据库并导入文件

QT 自带的数据库是很好用的。
以下给一些我写的例子:

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); //添加数据库

db.setDatabaseName("note.db"); //创建一个note.db的文件存储数据

db.open(); //开启数据库
query = QSqlQuery(db); //获得访问数据库的query
query.exec(XXX); //执行指令(XXX为SQL指令)
db.close(); //关闭数据库

大致只要知道以上例子就OK了。一般而言会将db变量作为全局变量或者数据成员,当需要访问的时候就获取一个query就可以了。
另外,要实现所提到的功能,要好好看看QString、QStringList,这两玩意主要是临时存放数据、分割数据等作用,另外,要看QFile、QDir、QFileInfo、QTextStream,这四个主要用来读取文本数据。看看QVector或者QList等来存放读出来的数据。
另外,要实现这玩意,SQL的语句不要求精通,但是基本的Create、Insert、Select、Delete等操作要准确无误。否则出错了QT是看不出来的。QT不会检测SQL的准确性的。
再另外,在QT的编程中,C++和类都很重要,所以还是得看看。

还有不明白的话欢迎留言

Ⅱ qt怎样创建数据库以及数据库的操作

QT创建和插入的操作代码如下:
bool database::createDatabase()
{
QSqlQuery query; // 此处请查询 query的相关操作
qDebug() << "Start to create table...";
//create table: User
query.exec("CREATE TABLE [User] ( [userId] VARCHAR(40) NOT NULL, [username] VARCHAR(40) NOT NULL, [email] VARCHAR(40), [password] VARCHAR(40), [city] VARCHAR(20), PRIMARY KEY([userId]) )"); // 一定注意不要拼写错误,引号内是不提示拼写错误的。
//create table: Connect
query.exec("CREATE TABLE [Connect] ( [LeftUser] VARCHAR(40) NOT NULL, [RightUser] VARCHAR(40) NOT NULL, [relation] INTEGER DEFAULT '0' NULL, PRIMARY KEY ([LeftUser], [RightUser]))");
if (query.lastError().isValid())
{
qDebug() << query.lastError();
return false;
}
else
{
qDebug() << "Create database successfully.";
}
return true;
}
插入操作

bool database::adser( User user )
{
if (!db.isOpen())
{
createconnection();
}
QSqlQuery query;
qDebug() << "start to insert data";
query.exec("INSERT INTO [User] ( userId, username, email, password, city) VALUES(?,?,?,?,?)");
QVariantList userId;
userId << user.getUserId();
query.addBindValue(userId);
QVariantList username;
username << user.getUserName();
query.addBindValue(username);
QVariantList email;
email << user.getEmail();
query.addBindValue(email);
QVariantList password;
password << user.getPassword();
query.addBindValue(password);
QVariantList city;
city << user.getCity();
query.addBindValue(city);
try
{
if (!query.execBatch())
{
qDebug() << query.lastQuery();
qDebug() << query.lastError();
return NULL;
}
}
catch(...)
{
QMessageBox::critical(0, "Add New Node error!",
"Unable to add a new Node!/n/n"
"Click Cancel to exit.", QMessageBox::Cancel);
}
if( !UpdateConnectTable(user.getUserId(),user.getUserId(),2))
{
QMessageBox::critical(0,"","Update table Connect error");
return NULL;
}
return true;
}

Ⅲ QT中如何用界面对数据库的直接操作,包括查询和连接

qt中有qtsql模块支持该操作,底层一般都是用驱动插件实现的,利用的是sqlite数据库,相关的类有
qsqldatabase, qsqlquery,qsqlrecord等,谢谢采纳

Ⅳ 如何用Qt连接数据库并导入文件

可以使用QT自带的数据库完成操作,以下是参考代码:

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); //添加数据库

db.setDatabaseName("note.db"); //创建一个note.db的文件存储数据

db.open(); //开启数据库
query = QSqlQuery(db); //获得访问数据库的query
query.exec(XXX); //执行指令(XXX为SQL指令)
db.close(); //关闭数据库

一般而言会将db变量作为全局变量或者数据成员,当需要访问的时候就获取一个query就可以了。

要实现所提到的功能,要好好看看QString、QStringList,这两玩意主要是临时存放数据、分割数据等作用,另外,要看QFile、QDir、QFileInfo、QTextStream,这四个主要用来读取文本数据。看看QVector或者QList等来存放读出来的数据。

另外,要实现这玩意,SQL的语句不要求精通,但是基本的Create、Insert、Select、Delete等操作要准确无误。否则出错了QT是看不出来的。QT不会检测SQL的准确性的。

Ⅳ 使用QT连接到了数据库(sqlsever)但是怎么操作才能删除数据库表中的一个记录

执行sql,delete from TABLE where 。。。。。。。。。。。
~~~~~~~~~~~~~~~~~~~~~~~~~
where条件确定删除多少条记录

Ⅵ 在Linux下的Qt中操作数据库,把内容插入数据库,然后在ui界面上显示出我插入的数据库

最基本实现:
按照lindEdit里面输入的内容查找数据库并显示出来。
最高实现目标:
用了个combobox里面有几个专属性都是数据库属里面有的,先选择相应的属性,再输入对应的内容到linEdit,按照lindEdit里面输入的内容查找数据库并显示出来。

Ⅶ qt怎样创建数据库以及数据库的操作

qt可以实现连接各种数据库,这里介绍qt自带的一种数据库(Qsqlite)#include<QSqlQuery>#include<QObject>#include<QVariantList>#include<QDebug>#include<QSqlError>#include<QTextCodec>#include<QObject>staticboolcreateConnection(){QSqlDatabasedb=QSqlDatabase::addDatabase("QSQLITE");db.setDatabaseName("mytest.db");if(!db.open())returnfalse;QSqlQueryquery;//query.exec(QObject::tr("createtablestudent(idintprimarykey,namevchar)"));//query.exec(QObject::tr("insertintostudentvalues(0,'刘')"));////query.exec(QObject::tr("insertintostudentvalues(1,'刚')"));//query.exec(QObject::tr("insertintostudentvalues(2,'红')"));//query.prepare("insertintostudentvalues(?,?)");//-------------------------------------------------------//通过下面这段代码可以实现向数据库插入变量//--------------------------------------------------------QVariantListages;intx1,x2,x3,x4;x1=12;x2=13;x3=14;x4=15;ages<<x1<<x2<<x3<<x4;query.addBindValue(ages);QVariantListnames;names<<QObject::tr("小王")<<QObject::tr("小明")<<QObject::tr("小张")<<QObject::tr("小新");//如果要提交空串,用QVariant(QVariant::String)代替名字query.addBindValue(names);if(!query.execBatch())//进行批处理,如果出错就输出错误qDebug()<<query.lastError();returntrue;}#endif//DATABASE_H然后用QSqlTableModel实现数据库数据显示

热点内容
涂鸦论文 发布:2021-03-31 13:04:48 浏览:698
手机数据库应用 发布:2021-03-31 13:04:28 浏览:353
版面217 发布:2021-03-31 13:04:18 浏览:587
知网不查的资源 发布:2021-03-31 13:03:43 浏览:713
基金赎回参考 发布:2021-03-31 13:02:08 浏览:489
悬疑故事范文 发布:2021-03-31 13:02:07 浏览:87
做简单的自我介绍范文 发布:2021-03-31 13:01:48 浏览:537
战略地图参考 发布:2021-03-31 13:01:09 浏览:463
收支模板 发布:2021-03-31 13:00:43 浏览:17
电气学术会议 发布:2021-03-31 13:00:32 浏览:731