我在另一篇文章中看到了这段代码,我不确定它是如何工作的。我从来没有在C / C ++中使用过SQL,我只是想插入一个test_table,有点像下面的代码。谁可以带我走过这个?它执行一个空字符串,没有句柄,sprintf缺少str参数..它是以某种方式打印到char sql [1000]变量吗?
如果此代码错误,有人可以解释我是如何使用SQLExecdirect将一些变量插入表中的吗?
for (n = 0; n < 10000; n++) {
char sql[1000];
sprintf("insert into mytable (cola, colb) values(%d,%d)", n, n);
SQLExecDirect(sql);
}
答案 0 :(得分:0)
首先,这段代码是错误的。第三行应该是
sprintf(sql, "insert into mytable (cola, colb) values(%d,%d)", n, n);
代码细分:
char sql[1000];
创建一个名为sql
的空字符串,长度为1000个字符。
sprintf(sql, "insert into mytable (cola, colb) values(%d,%d)", n, n);
使用文字填充此字符串,并将每个%d
替换为n
的值。
SQLExecDirect(sql);
执行此SQL命令。
换句话说,将执行以下SQL查询:
insert into mytable (cola, colb) values(0,0)
insert into mytable (cola, colb) values(1,1)
insert into mytable (cola, colb) values(2,2)
...
insert into mytable (cola, colb) values(9999,9999)