开发案例库
Linux下嵌入式数据库(SQLite)实验
面向对象:所有人员    关键词:

移植SQLite数据库到嵌入式设备,编写应用程序,在嵌入式设备里建立数据表、插入数据、查询数据。

#include <stdio.h>
#include <sqlite3.h>
 
static int callback(void *NotUsed, int azArg, char **argv, char **azCol); 
int main(int argc, char **argv)
{
    sqlite3 *db;
    char *errmsg = 0;
    //open datebase
    if((sqlite3_open(argv[1], &db))!=SQLITE_OK)
    {
      //fprintf(stderr, "open database: %s:fail\n", sqlite3_errmsg(db));
      printf("open database: %s:fail\n", sqlite3_errmsg(db));
      sqlite3_close(db);
      return 1;
    }
    //exec sql
    if( (sqlite3_exec(db, argv[2], callback, 0, &errmsg))!=SQLITE_OK )
    {
      //fprintf(stderr, "error: %s\n", errmsg);
      printf("error: %s\n", errmsg);
    }
    sqlite3_free(errmsg);
    sqlite3_close(db);
    return 0;
}
 
  
static int callback(void *NotUsed, int azArg, char **argv, char **azCol)
{
    int i;
   static int j=0;
   for(;j<azArg;j++)
   {
    printf("\t%s",azCol[j]);
   }
    printf("\n");
    for(i=0; i<azArg; i++)
    {
printf("\t%s",argv[i]);
    }
    printf("\n");
    return 0;
}