Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29630
  • 博文数量: 20
  • 博客积分: 890
  • 博客等级: 准尉
  • 技术积分: 195
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-23 22:48
文章分类

全部博文(20)

文章存档

2010年(20)

我的朋友

分类: C/C++

2010-03-07 21:43:05

#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>

/**
 * locate sqlite3
 * gcc -o simplesqlite3 simplesqlite3.c -Wall -W -O2 -L/usr/lib -lsqlite3
*/

static int callback(void *notUsed, int argc, char *argv[], char * columnName[]) {
    notUsed = NULL;
    int i = 0;
    for ( i =0; i < argc; i++ ) {
        printf("%s=%s\n", columnName[i], argv[i] ? argv[i] : "NULL");
    }
    printf("\n");
    return 0;
}

int main( int argc, char * argv[]) {
    sqlite3* db;
    char* errMsg = NULL;
    int rc;

    if(argc != 3) {
        fprintf(stderr, "usage: %s DATABASE SQL_STATEMENT\n", argv[0]);
        exit(1);
    }

    rc = sqlite3_open(argv[1], &db);
    if(rc) {
        fprintf(stderr, "Cannot open database :%s\n", sqlite3_errmsg(db));
        sqlite3_close(db);
        exit(1);
    }

    rc = sqlite3_exec(db, argv[2], callback, 0, &errMsg);
    if(rc != SQLITE_OK) {
        if(errMsg != NULL) {
            fprintf(stderr, "sql error: %s\n", errMsg);
            sqlite3_free(errMsg);
        }
    }

    sqlite3_close(db);
    return 0;
}


阅读(342) | 评论(0) | 转发(0) |
0

上一篇:哥的传说

下一篇:awk oneliner

给主人留下些什么吧!~~