认真求教!使用sql语句向数据库表格中插入数据失败!
voidMySql::initsql(){QSqlDatabasedb=QSqlDatabase::addDatabase("QMYSQL");db.setHostNam...
void MySql::initsql()
{
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setUserName("root");
db.setPassword("");
db.setDatabaseName("mystu");
if(!db.open())
{
qDebug()<<"Database connected failed!";
return;
}
else
{
qDebug()<<"Database connected successfully!";
createTable();
return;
}
}
void MySql::createTable()
{
query=new QSqlQuery;
query->exec("create table user(user_name VARCHAR(20)PRIMARY KEY,pwd VARCHAR(20))");
query->exec("insert into user values('root','123456')");
query->exec("create table student(id VARCHAR(20)PRIMARY KEY,name VARCHAR(20),gender ENUM('male','female'),birthday VATCHAR(20))");
query->exec("insert into student values('0','lzd','male','1228')"); //??为何无效??
}
这是主要代码(我在qt上编的),数据库已连接成功了。
但最后一句插入数据为何无效?(因为之后使用tablemodel显示表单没有任何数据)
而且之后用sql的exec语句插入数据,返回的布尔值也是false,但全然不知道插入失败的原因。
初学者,认真求教!希望大家花费一点点时间给予指教! 展开
{
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setUserName("root");
db.setPassword("");
db.setDatabaseName("mystu");
if(!db.open())
{
qDebug()<<"Database connected failed!";
return;
}
else
{
qDebug()<<"Database connected successfully!";
createTable();
return;
}
}
void MySql::createTable()
{
query=new QSqlQuery;
query->exec("create table user(user_name VARCHAR(20)PRIMARY KEY,pwd VARCHAR(20))");
query->exec("insert into user values('root','123456')");
query->exec("create table student(id VARCHAR(20)PRIMARY KEY,name VARCHAR(20),gender ENUM('male','female'),birthday VATCHAR(20))");
query->exec("insert into student values('0','lzd','male','1228')"); //??为何无效??
}
这是主要代码(我在qt上编的),数据库已连接成功了。
但最后一句插入数据为何无效?(因为之后使用tablemodel显示表单没有任何数据)
而且之后用sql的exec语句插入数据,返回的布尔值也是false,但全然不知道插入失败的原因。
初学者,认真求教!希望大家花费一点点时间给予指教! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询