如何逐条读出文件中的sql语句并且在sqlite3中批量执行 c、C++都可以
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何逐条读出文件中的sql语句并且在sqlite3中批量执行 c、C++都可以相关的知识,希望对你有一定的参考价值。
参考技术A sql是一个文本文件,用文本文件方式打开,读取一条语句后作为字符串;然后用system 函数执行sqlite3 命令,sql文件的内容要作为它的参数。 参考技术B 看源语句,直接用;附号分成。单句去执行。有些是直接用换行分好的。追问有完整代码吗
追答我X啊,这个怎么回答。。没有C的,有php的。1读文件,2把文件内容用;分开,如此而已
参考技术C 主人还没给我设置这类话题的回复,你帮我悄悄的告诉他吧~如何通过更改SQLite3中的现有SQL表通过单个SQL语句添加更多列?
#include <stdio.h> /* needed for vsnprintf */
#include <stdlib.h> /* needed for malloc-free */
#include <string.h>
#include <sqlite3.h>
char *table[10] = { "John", "peter", "Nolan" };
int i ;
for(i=0; i<3; i++)
{
char *sql1 = "ALTER TABLE names ADD column '%s'",table[i];
rc = sqlite3_exec(db, sql1, callback, 0, &zErrMsg);
if (rc != SQLITE_OK )
{
printf("Error: %s:Unable to ALTER the table\n", zErrMsg);
}
}
- 在上面的代码中添加'3'列(例如John,Peter,Nolan),我将SQL语句重新运行了'3'次。
- 是否有可能通过单个SQL语句(或)提供任何其他API来添加'3'以上的列?
注意:我不想做以下事情
- Using a loop statement to add the columns.
- Executing many SQL statements to add the columns.
- Backup of the existing database and renaming it after adding the columns.
答案
不,您无法在1个单个sql语句中执行此操作,您可以在多行语句的一行中执行此操作。
以上是关于如何逐条读出文件中的sql语句并且在sqlite3中批量执行 c、C++都可以的主要内容,如果未能解决你的问题,请参考以下文章