您的位置:首页 > 数据库

[转载]c操作sqlite3基本方法

2011-10-14 18:39 302 查看
[ 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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: