[ 2010-05-09 20:08:47 | 作者: yuhen ]
相关 API 信息可参考官方 帮助手册。
测试代码:
测试代码:
#include <sqlite3.h>
void exec(sqlite3* db, const char* sql)
{
sqlite3_stmt* stmt;
if (sqlite3_prepare(db, sql, strlen(sql), &stmt, NULL) == SQLITE_OK)
{
sqlite3_step(stmt);
}
else
{
printf("%s\n", sqlite3_errmsg(db));
}
sqlite3_finalize(stmt);
}
void exec2(sqlite3* db, const char* sql)
{
sqlite3_stmt* stmt;
if (sqlite3_prepare(db, sql, strlen(sql), &stmt, NULL) == SQLITE_OK)
{
while (sqlite3_step(stmt) == SQLITE_ROW)
{
int id = sqlite3_column_int(stmt, 0);
unsigned char* name = sqlite3_column_text(stmt, 1);
printf("%d, %s\n", id, name);
}
}
else
{
printf("%s\n", sqlite3_errmsg(db));
}
sqlite3_finalize(stmt);
}
int main(int argc, char* argv[])
{
sqlite3* db;
if (sqlite3_open("./test.db", &db) == SQLITE_OK)
{
exec(db, "CREATE TABLE [user]([id] INTEGER PRIMARY KEY ASC AUTOINCREMENT, [name])");
exec(db, "INSERT INTO [user] ([name]) VALUES ('user1')");
exec(db, "INSERT INTO [user] ([name]) VALUES ('user2')");
exec(db, "INSERT INTO [user] ([name]) VALUES ('user3')");
exec2(db, "SELECT * FROM [user]");
sqlite3_close(db);
}
else
{
printf("%s\n", sqlite3_errmsg(db));
}
return EXIT_SUCCESS;
}