技术领导者
我思想,我创造,我快乐

导航

Blog统计
  • 文章 - 17
  • 收藏 - 0
  • 评论 - 7
  • Trackbacks - 0

文章

收藏

    相册

      Blog

      存档


      正在读取评论……
       
      解压出全部文件,编译就可以生成sqlite程序了

      用VC6的编译步骤:
      新建一个空的控制台程序名字就叫sqlite
      将上面的全部文件加入工程
      在定义一个预处理变量NO_TCL

      编译生成sqlite.exe就可以用了
      既然是嵌入式,哦想应该是把sqlite嵌入别的程序吧

      改代码:
      打开文件shell.c
      把原来的main函数关掉

      加入自己的代码如下
      CODE

      //--test
      //--请参考callback
      int select_callback(void *pArg, int nArg, char **azArg, char **azCol){
       int i;
       struct callback_data *p = (struct callback_data*)pArg;
       switch( p->mode ){
         case MODE_Semi:
         case MODE_List: {
           if( azArg==0 ) break;
           for(i=0; i<nArg; i++){
             char *z = azArg[i];
             if( z==0 ) z = p->nullvalue;
             fprintf(p->out, "%s", z);
             if( i<nArg-1 ){
               fprintf(p->out, "%s", p->separator);
             }else if( p->mode==MODE_Semi ){
               fprintf(p->out, ";\n");
             }else{
               fprintf(p->out, "\n");
             }
           }
           break;
         }
       }
       return 0;
      }

      int main(int argc, char **argv){

       char *zErrMsg = 0;
       struct callback_data data;
       int i;
       extern int sqlite3OsFileExists(const char*);

       char * SQL;
       int rc;

       main_init(&data);

       //--数据库文件
       data.zDbFilename = "C:\\tmp\\sqlitet1.db";
       data.out = stdout;

       if( sqlite3OsFileExists(data.zDbFilename) )
       {
         open_db(&data);
       }
       else
       {
         //--open先
         open_db(&data);

      //--删除表
      SQL = "drop table t1;";
         rc = sqlite3_exec(data.db, SQL, NULL, &data, &zErrMsg);

      //--建表
      SQL = "create table t1(id INTEGER, name VARCHAR(100));";
         rc = sqlite3_exec(data.db, SQL, NULL, &data, &zErrMsg);

      //--插入初始化数据
      SQL = "insert into t1 values(0, '大话王');";
         rc = sqlite3_exec(data.db, SQL, NULL, &data, &zErrMsg);
      //--continue
      for (i = 1; i < 100; i++)
      {
       SQL = "insert into t1 values(%d, '%d大话王');";
       rc = sqlite3_exec_printf(data.db, SQL, NULL, &data, &zErrMsg,
        i, i);
      }
       }

       //--查询
       SQL = "select count(*) from t1;";
       rc = sqlite3_exec(data.db, SQL, select_callback, &data, &zErrMsg);
       //--continue
       SQL = "select * from t1;";
       rc = sqlite3_exec(data.db, SQL, select_callback, &data, &zErrMsg);

       set_table_name(&data, 0);
       if( db ) sqlite3_close(db);

       return 0;
      }


      Trackback: http://tb.donews.net/TrackBack.aspx?PostId=242880


      [点击此处收藏本文]  发表于2005年01月16日 2:37 PM




      正在读取评论……
      大名
      网址
      验证码
      评论