qt连接数据库 QT中怎样连接MYsql数据库,远程连接数据库等
大家好,今天小编来为大家解答qt连接数据库这个问题,QT中怎样连接MYsql数据库,远程连接数据库等很多人还不知道,现在让我们一起来看看吧!
如何用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下连接读写sqlite数据库
这里以学生信息的录入与读取来作为演示,主要目的是演示数据库的操作,至于数据的显示等不在演示范围内,请您自行研究。
首先,在Qt中建立一个图形界面的程序项目。
然后,我们在命令行下用sqlite命令创建了数据库 C:\StudentInfo\sutdentdata.db,并且建立了一个数据库表student,该表有四个字段ID、Name、Sex、Age,未向表中添加任何数据。
关于sqlite的简单使用,可以参考我们的另一篇经验。
1SQLite的简单使用方法
在读写SQLite数据库中,我们最主要用到的是QSqlDatabase类及QSqlQuery类,前者负责创建数据库连接并打开数据库,后者负责执行查询操作。实际上前者也可以进行查询操作并将结果返回给QSqlQuery对象,但是Qt并不建议这么做。
在干活前,依然是先看看Assitant,这是培养独立解决问题的一个好习惯。
好,下面给录入按钮的点击事件编写代码。关于如何给按钮的某一事件进行编码,可以参考我们另一篇经验。
首先在.pro文件中加上sql,然后别忘了#include<QSqlDatabase>以及#include<QSqlQuery>。
好了,下面在录入按钮的槽中加入如下代码:
QSqlDatabase mydb=QSqlDatabase::addDatabase("QSQLITE","wconntosqlite");
mydb.setDatabaseName("c:\\StudentInfo\\studentdata.db");
if(mydb.open())
{
QSqlQuery query(mydb);
QString sqlstr="insert into student(ID,Name,Sex,Age) values('"
+ui->le_id->text()+"','"
+ui->le_name->text()+"','"
+ui->le_sex->text()+"',"
+ui->le_age->text()+")";
bool isok=query.exec(sqlstr);
if(isok)
qDebug()<<"数据写入成功";
}
上面我们先调用了QSqlDatabase的静态函数addDatabase创建了一个名为wconntosqlite的连接。然后给其传递数据库名称。
如果数据库打开成功,就创建一个关联的QSqlQuery对象,最后由QSqlQuery来执行插入数据工作。
特别注意:QSqlQuery对象的创建必须在mydb open成功以后才行,否则会出错。
我们来看看效果如何。
1c++怎么做界面
我们接着来写查询按钮的代码,输入以下代码:
QSqlDatabase mydb=QSqlDatabase::addDatabase("QSQLITE","rconntosqlite");
mydb.setDatabaseName("c:\\StudentInfo\\studentdata.db");
if(mydb.open())
{
QSqlQuery query(mydb);
QString sqlstr="select* from student";
bool isok=query.exec(sqlstr);
if(isok)
qDebug()<<"数据读取成功";
query.first();
QString result="学号:"+query.value(0).toString()+""
+"姓名:"+query.value(1).toString()+""
+"性别:"+query.value(2).toString()+""
+"年龄:"+query.value(3).toString();
ui->lbl_query->setText(result);
}
与写入数据基本差不多,这里需要特别注意的是query.first();。看看Assistant怎么说的就知道了。原来,query对象在执行完查询语句后,query的位置被置于一个不可用的位置,如果想从query中获取数据,需要设置query到一个可用的记录中才行。方法有好几种,这里我们用了first()成员函数。
好,来看看运行结果。
可以看到软件读取的数据与控制台窗口的数据是一致的。
我们来总结下Qt操作SQLite数据库的五步走法决:
第一步,建立一个连接:QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
第二步,关联数据库文件:db.setDatabaseName("这里你的数据库文件路径")
第三步,打开数据库:db.open()
第四步,如果数据库打开成功,就建立一个相关联的QSqlQuery对象:QSqlQuery query(db)
QT中怎样连接MYsql数据库,远程连接数据库等
1: windows下登陆mysql命令行,(1)进入cmd(2) cd mysql安装路径/mysqlserver5.6/bin
(3)使用命令mysql-u root-p然后根据提示输入密码进入命令行
select user();//显示当前用户
2:在同一台电脑上利用Qt访问数据库
(1)显示当前电脑上安装的数据库驱动
QStringList drivers= QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug()<<"/t"<< driver;
(2)QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");/对 QMYSQL进行操作,本函数
有第二个参数连接名
db.setHostName("localhost");//或127.0.0.1本主机
db.setPort(3306);
db.setDatabaseName("example");//对数据库example进行操作
db.setUserName("wangxuetao");//wangxuetao是一个对example数据库有操作权限的账户
db.setPassword("3791948");
于是mysql中增加一个账户可使用
Grant all previliges on*.* to‘wangxuetao’@’localhost’ identified by
‘3791948’ with grant option;
Flush privileges;//更新
(3)db.open()函数可由于检测数据库是否连接成功
cout<DBConnection();
2. m_sqlquery= new QSqlQuery("",m_sqldb);//statement 1:connect db with sql
query
3. if(result== R_OK)
4.{
5. result= m_sqlquery->exec("INSERT INTO children(fname,age) VALUES('A
nn2',13)");
6. if(!result)
7. qDebug()<<" [OK]"<<"EXEC successed";
8. m_sqlquery->exec("SELECT* FROM children c LIMIT 0,1000");
9. while(m_sqlquery->next())
10.{
11. qDebug()<value(0).toString()<value(1).
toString();
12.}
13.}
qt中mysql怎么连接远程数据库
创建数据库
选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接。
在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点
右键单击【数据库】节点,从弹出来的快捷菜单中选择【新建数据库】命令。
执行上述操作后,会弹出【新建数据库】对话框。在对话框、左侧有3个选项,分别是【常规】、【选项】和【文件组】。完成这三个选项中的设置会后,就完成了数据库的创建工作,
在【数据库名称】文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。
在【所有者】文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用【使用全文索引】复选框。
在【数据库文件】列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的【添加】、【删除】按钮添加或删除数据库文件。
切换到【选项页】、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。
切换到【文件组】页,在这里可以添加或删除文件组。
完成以上操作后,单击【确定】按钮关闭【新建数据库】对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再【对象资源管理器】窗口看到。
如果你还想了解更多这方面的信息,记得收藏关注本站。