MySQL|Qt向mysql数据库插入数据,用exec成功,用prepare没有报错但数据库里没有数据
问题描述: 在Qt里连接好了MySQL数据库,用exec(SQL语句)能成功插入数据(在MySQL workbench里能查到),用prepare插入数据,在Qt里没有报错,但在MySQL workbench里看到其实并没有数据插入进去。
一、用exec(SQL语句)能成功插入数据
bool a = query1.exec("insert into table_component_name values('temp_name1','temp_type1')");
if(a)
{
qDebug()<<"插入成功!";
}
else
{
qDebug()<<"插入失败!";
}
二、用prepare插入数据,以下程序的两处输出都是成功,但在MySQL workbench里看到其实并没有数据插入进去。
bool a = query1.prepare("insert into table_component_name(all_component_name,component_type)" "values(:all_component_name,:component_type);
");
if(a)
{
qDebug()<<"成功!";
}
else
{
qDebug()<
解决办法:把上面代码中的query1.execBatch()改成query1.exec(),在MySQL workbench看,数据就成功插入了。 原因:我也不知道为啥。 【MySQL|Qt向mysql数据库插入数据,用exec成功,用prepare没有报错但数据库里没有数据】在网上看了别人的代码,有的人用的query1.execBatch(); 有的人用的query1.exec(); 看B站教学视频,明明别人用query1.execBatch(); 能成功插入数据啊,不知道我这个是为啥。如果以后知道原因了,再来更博。
推荐阅读
- 跌跌撞撞奔向你|跌跌撞撞奔向你 第四章(你补英语,我补物理)
- 奔向你的城市
- 精神,带我走向人生的天堂!
- 下雪了,飞去你的城市拥抱你|下雪了,飞去你的城市拥抱你 | 有个直男向我表白了
- 最喜6.8.9
- 北陸的雪
- 走向天空,走向云(小说)3
- 康德式公平倾向
- (全员向连载)云间当铺(一)
- 《算法》-图[有向图]