无法通过QT对MySQL数据库操作,但是代码在MySQL命令台却能执行,有没有大神知道这个是怎么回事,以及怎样解决啊?附上代码,红色的就是无法实现的部分
#include"mysql.h"
#include"ui_mysql.h"
#include<QSqlDatabase>
#include<QDebug>
#include<QMessageBox>
#include<QSqlError>
#include<QSqlQuery>//对sql数据库操作的类
mysql::mysql(QWidget*parent):
QWidget(parent),
ui(newUi::mysql)
{
ui->setupUi(this);
//打印QT支持的数据库驱动
qDebug()<<QSqlDatabase::drivers();
//添加MYsql数据库
QSqlDatabasedb=QSqlDatabase::addDatabase("QMYSQL");
//连接数据库
db.setHostName("127.0.0.1");//数据库服务器IP
db.setUserName("root");//数据库用户名
db.setPassword("root");//密码
db.setDatabaseName("hospinformation");//使用哪一个数据库
//打开数据库
if(!db.open())//数据库打开失败
{
QMessageBox::warning(this,"错误",db.lastError().text());
return;
}
if(db.open())//数据库打开成功
{
qDebug()<<"数据库连接成功";
return;
}
QSqlQuery query;
query.exec("createtablestudent(idintprimarykey,namevarchar(255),ageint,scoreint);");
//插入
query.exec("insertintodata(totalpeople,totalmoney)values(11,11);");
}
mysql::~mysql()
{
delete ui;
}