重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1)创建ui界面 (2)导入头文件 一、自动提交模式 二、手动提交模式 (1)构造函数中的代码 (2) “提交”按钮的槽函数 在ui界面导入一个Table View。 这个控件可以显示表格,在代码中我们通过setHeaderData()函数可以自定义每列的名称。 需要用到以下头文件,QSqlDatabase用于连接数据库,QMessageBox用于弹出对话框,QSqlError用于显示数据库的错误信息,QSqlQuery和QSqlTableModel用于操作数据库。 #include QWidget #include QSqlDatabase #include QMessageBox #include QSqlError #include QString #include QSqlQuery #include QSqlTableModel 在Qt窗口显示的表格中改动数据,然后点击回车,数据库中的表格中的数据就自动更新了。 注意,在这里必须是敲击回车才会进行数据库的更新,如果直接用鼠标切换到其他的地方是不会更新数据库的。 //连接数据库 QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("127.0.0.1"); db.setUserName("root"); db.setPassword("123456"); db.setDatabaseName("aaa2"); if(db.open()==false){ QMessageBox::warning(this,"waring",db.lastError().text()); } //实例化model model = new QSqlTableModel(this); //将模型设置到视图 ui-tableView-setModel(model); //给model设置数据表,前提条件是数据库已经打开了 model-setTable("student");
我们拥有10年网页设计和网站建设经验,从网站策划到网站制作,我们的网页设计师为您提供的解决方案。为企业提供成都网站设计、做网站、微信开发、小程序设计、手机网站制作设计、H5场景定制、等业务。无论您有什么样的网站设计或者设计方案要求,我们都将富于创造性的提供专业设计服务并满足您的需求。
你的讲法,要俺怎么答哦!访问mysql方式很多呀,你要那种呢,给出两种吧!
1、命令方式访问
在安装好mysql的机器上输入
windows环境下 d:\msyql\bin\mysql -uroot -p
linux环境下 /usr/mysql/bin/mysql -uroot -p
这如果没有密码,mysql服务又是启动的,那么就进去了
2、使用管理软件
这里只介绍SQLyog Enterprise 8.12,自己在网上下一个吧。
安装后,只要填写root就可访问你的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,运行后报错:
查阅资料知道需要配置mysql驱动,本以为几分钟解决的事情,没想到开启了恶魔经历,整整两天时间,mmp!
Stop! 废话别说啦,入正题:
首先,Qt mysql的安装和环境配置就略了,一搜一大把。
不过注意两点:
先进入到/Users/ing/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers目录下,执行:
这里确保qmake用的qt里的就行
其实你可以配置下qt相关的环境变量,在bash_profile里添加:
然后,source ~/.bash_profile ,还有别忘了 source ~/.zshrc
执行成功的话会输出:
根据提示 依次执行:
make sub-mysql
make
make install
进入/Users/ing/Qt5.14.2/5.14.2/clang_64/plugins/sqldrivers下执行,查看链接库:
输出:
此时,运行qt程序 依旧报错。
根据查阅的资料,问题出在
网友们所说的“诡异”的路径那一行(你的输出可能和我的不一样的,但问题应该一样) ,也就是有 libmysqlclient.21.dylib 这行。
另外查了下 @repath 的含义 意思是说 不能明确的指向。。。所以 这里就需要将libmysqlclient.21.dylib 指向扳到正确的道路。
方法就是利用 install_name_tool -change
执行
这里一定要注意顺序,刚开始我就是顺序搞错了,死活就是不行,最后跑到官方论坛里用蹩脚的英语发帖求教也无果,最后还是一遍的重试,一遍的检查才发现的。一天就这么浪费了。
此刻在运行qt程序 ,就不会再报上面的错误了。
撒花,礼花搞起~~~