用qt如何连接数据库(简答题)连接mysql 数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); // 使用mysql数据库驱动
db.setHostName("localhost");
db.setDatabaseName("exampledb"); // 数据库名称
db.setUserName("sa"); // 用户名
db.setPassword("1"); // 密码
bool ok = db.open(); // 尝试连接数据库
if(ok)
{
QSqlQuery myquery;
if(myquery.exec("select * from employeedb"))
{
int num = 0;
if(db.driver()-hasFeature(QSqlDriver::QuerySize))
{
num = myquery.size(); // 如果支持结果影响的行数,那么直接记录下来
}
else
{
myquery.last(); //否则定位到结果最后
num = myquery.at()1;
}
//这里添加数据库的查询结果处理操作
}
else // 如果查询失败
{
QSqlError error = myquery.lastError();
}
}
else // 打开数据库失败
{
}
pyqt4怎么连接mysql数据库pyqt4连接mysql数据库的方法:
原料:sip-4.17.tar.gz、PyQt-gpl-5.5.1.tar.gz安装包
下载后解压缩到用户目录 。
键入以下命令:
python configure.py (或python)
makesudo make install
1、安装mysql的sqldrivers
默认情况下qt只有SQLite驱动,其它驱动要自己安装:
sudo apt-get install libqt4-sql-mysqllibqt5sql5-mysql
sudo apt-get install libqt4-sql-psqllibqt5sql5-psql
2、对于安装MATLAB的系统可能出现动态链接库版本问题
如import QtPy模块时出错
from PyQt4.QtQtSql import *
Traceback (most recent call last):
File "stdin", line 1, in module
ImportError: /opt/local/MATLAB/R2012a/bin/glnxa64/QtSql.so.4: undefined symbol: _ZN31
locate QtSql.so
然后把链接改到系统库下
/opt/local/MATLAB/R2012a/bin/glnxa64/libQtSql.so.4 - /usr/lib/x86_64-linux-gnu/libQtSql.so.4.8.6
我的系统里QtCore、QtGui、QtOpenGL、QtNetwork等都有问题、需要以上操作 。修改后未发现MATLAB运行异常
3、测试代码
mysql
#-*- coding: utf-8 -*-
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4.QtSql import *
import sys
#创建数据库连接
def createConnection():
#选择数据库类型 , 这里为mysql数据库
db=QSqlDatabase.addDatabase("QMYSQL")
db.setDatabaseName("you_db")
db.setHostName("localhost")#set address
db.setUserName("you_usr"); #set user name
db.setPassword("you_passwd"); #set user pwd
#打开数据库
#打开数据库
if (db.open()):
print ("Success")
else:
print ("Failed to connect to mysql")
#创建表
def createTable():
#创建QsqlQuery对象,用于执行sql语句
q=QSqlQuery()
q.exec_("create table if not exists t1 (f1 integer primary key,f2 varchar(20))")
q.exec_("delete from t1")
#这里使用 u 将字符串转换成unicode编码,解决中文乱码
q.exec_(u"insert into t1 values(1,'我')")
q.exec_(u"insert into t1 values(2,'我')")
q.exec_("commit")
class Model(QSqlTableModel):
def __init__(self,parent):
QSqlTableModel.__init__(self,parent)
#设置要载入的表名
self.setTable("t1")
#这一步应该是执行查询的操作
self.select()
#数据更新的策略,详细可以查看Qt文档
self.setEditStrategy(QSqlTableModel.OnManualSubmit)
class TestWidget(QWidget):
def __init__(self):
QWidget.__init__(self)
vbox=QVBoxLayout(self)
self.view=QTableView()
self.model=Model(self.view)
self.view.setModel(self.model)
vbox.addWidget(self.view)
if __name__=="__main__":
a=QApplication(sys.argv)
createConnection()
createTable()
w=TestWidget()
w.show()
sys.exit(a.exec_())
测试完成,连接成功 。
mysql与qt连接需要把 qt 安装目录里面的 一个和mysql相关的工程,拿出来用qt打开编译一下的,生成的库文件,这就是“驱动”了 , 具体细节就不记得了 。好久没有用过了
qt中mysql怎么连接远程数据库创建数据库
选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接 。
在【对象资源管理器】窗口中展开服务器 , 然后选择【数据库】节点
右键单击【数据库】节点,从弹出来的快捷菜单中选择【新建数据库】命令 。
执行上述操作后 , 会弹出【新建数据库】对话框 。在对话框、左侧有3个选项,分别是【常规】、【选项】和【文件组】 。完成这三个选项中的设置会后,就完成了数据库的创建工作,
在【数据库名称】文本框中输入要新建数据库的名称 。例如,这里以“新建的数据库” 。
在【所有者】文本框中输入新建数据库的所有者 , 如sa 。根据数据库的使用情况,选择启用或者禁用【使用全文索引】复选框 。
在【数据库文件】列表中包括两行,一行是数据库文件,而另一行是日记文件 。通过单击下面的【添加】、【删除】按钮添加或删除数据库文件 。
切换到【选项页】、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性 。
切换到【文件组】页 , 在这里可以添加或删除文件组 。
完成以上操作后,单击【确定】按钮关闭【新建数据库】对话框 。至此“新建的数据”数据库创建成功 。新建的数据库可以再【对象资源管理器】窗口看到 。
qt中怎么连接mysql数据库1:windows 下登陆mysql 命令行qt怎么跟mysql连接,(1)进入cmd (2)cdmysql 安装路径/mysqlserver5.6/bin(3)使用命令mysql -u root -p然后根据提示输入密码进入命令行select user();//显示当前用户2qt怎么跟mysql连接:在同一台电脑上利用Qt 访问数据库(1)显示当前电脑上安装qt怎么跟mysql连接的数据库驱动QStringListdrivers = QSqlDatabase::drivers();foreach(QString driver, drivers)qDebug() "/t"driver;(2)QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");/对 QMYSQL进行操作qt怎么跟mysql连接,本函数有第二个参数 连接名db.setHostName("localhost");//或127.0.0.1 本主机db.setPort(3306);db.setDatabaseName("example"); //对数据库example进行操作db.setUserName("wangxuetao");//wangxuetao是一个对example数据库有操作权限qt怎么跟mysql连接的账户db.setPassword("3791948");于是mysql中增加一个账户可使用Grantall previliges on *.*to ‘wangxuetao’@’localhost’ identified by‘3791948’ with grant option;Flushprivileges; //更新(3)db.open() 函数可由于检测数据库是否连接成功coutDBConnection();2.m_sqlquery = new QSqlQuery("",m_sqldb);//statement 1:connect db with sql query3.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问题首先:进入到自己相应的qt/src/plugins/sqldrivers/mysql 目录下 (我的目录为:S:\QT\4.8.0\src\plugins\sqldrivers\mysql) , 这个下面有两个文件mysql.pro,一个mian.cpp! 用文本编辑器打开该目录下的mysql.pro文件 在mysql.pro中加入:
INCLUDEPATH ="C:\Program Files\MySQL\MySQL Server 5.5\include" LIBS ="C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib"
保存并退出(即你的mysql的include 路径和 lib 下 opt 的 libmysql.lib 路径)
打开Qt 4.8.0 Command Prompt, 编译这个文件
#qmake -o Makefile mysql.pro
提示3条警告信息,但没影响
#mingw32-make (这个网上有好几个编译命令 , 我的是用nmake);
然后你会发现你的 qt 下这个 qt/plugins/sqldrivers路径(我的路径为S:\QT\4.8.0\plugins\sqldrivers下)下多了四个文件
分别为 libqsqlmysql4.a,libqsqlmysqld4.a,qsqlmysql4.dll , qsqlmysqld4.dll (生成文件不一定是上面四个)这样基本上就编译成功,可以使用 mysql 了!~
最后安全起见再将 mysql下 bin 文件中libmysql.dll文件拷贝到 system32 下面 然后测试:
#includeQtGui #includeQtSql #includecstdlib
#includeQtGui/QApplication #includeQtSql/QtSql boolcreateConnection() {
qDebug()"Availabledrivers:";
QStringListdrivers=QSqlDatabase::drivers(); foreach(QStringdriver,drivers) qDebug()"\t"driver;
QSqlDatabasedb=QSqlDatabase::addDatabase("QMYSQL"); qDebug()"MYSQLdrivervalid?"db.isValid(); }
intmain(intargc,char*argv[]) {
至于mysql.pro我是在网上下载的
【关于qt怎么跟mysql连接的信息】qt怎么跟mysql连接的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、qt怎么跟mysql连接的信息别忘了在本站进行查找喔 。
推荐阅读
- 什么cpu不会出现cpu虚焊,cpu虚焊没有工具怎么办
- 建材如何做同城引流模板,建材引流推广方案
- h1z1什么cpu,h1z1什么时候
- go+语言圣经+百度云 go语言圣经百度云
- c语言解析_字符串,c语言解析字符串中的ip地址和端口号
- flutter预览图片,flutter photo view
- 直播的系统教程,直播系统程序
- mysql行级锁怎么写 mysql行级锁是悲观锁吗
- 跟oracle有关的注册表,oracle 注册表