你如何使用SQLExecDirect?

时间:2014-08-21 21:44:14

标签: sql c

我在另一篇文章中看到了这段代码,我不确定它是如何工作的。我从来没有在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);
}

1 个答案:

答案 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)