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(); 能成功插入数据啊,不知道我这个是为啥。如果以后知道原因了,再来更博。

    推荐阅读