如何用for循环在qt中实现sql数据库的多行插入?

如题,断点显示已循环64次,但一行都没有完成插入。QSqlQueryquery;query.exec("createtableperson(idintprimarykey... 如题,断点显示已循环64次,但一行都没有完成插入。
QSqlQuery query;

query.exec("create table person (id int primary key, "

"name varchar(20), date1 varchar(20),"

"date2 varchar(20),date3 varchar(20),"

"date4 varchar(20),date5 varchar(20),"

"date6 varchar(20),date7 varchar(20),"

"date8 varchar(20),date9 varchar(20),"

"date10 varchar(20),value int)");

for(int i=1;i<=64;i++)

{

query.exec("insert into person values(i, '7', '', '', '', '', '', '', '', '', '', '', 0)");

}
而把i改成常量后,仅仅插入了一行(运行时从创建的QTableView的窗口上看到的)。
本人新手,很多东西还不清楚......
展开
 我来答
高新区吴彦祖
2020-05-08
知道答主
回答量:98
采纳率:100%
帮助的人:3.7万
展开全部
debug时把sql语句复制出来,在数据库链接工具中(如plsql,navicat等)执行一次,可能是你的value中设置了非空字段,也有可能是你的数据库策略不允许插入空.
yx7591753951
2013-10-12 · TA获得超过188个赞
知道小有建树答主
回答量:164
采纳率:0%
帮助的人:135万
展开全部
估计你执行exec SQL的时候变量I没有转换为常量 把SQL语句先存到字符串变量里输出看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
blademaster717
2013-10-12 · TA获得超过1457个赞
知道小有建树答主
回答量:882
采纳率:97%
帮助的人:375万
展开全部
从你的语句上看的话,字段数都对不上。
你先把insert语句单独提出来执行下看是否报错。把i赋值执行看是否正确先
insert into person values(i, '7', '', '', '', '', '', '', '', '', '', '', 0)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dflangsky
2013-10-12
知道答主
回答量:28
采纳率:0%
帮助的人:21.2万
展开全部
你确定是只插入了一条数据还是数据本身已经插入进去,tableView显示问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式