免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1440 | 回复: 0
打印 上一主题 下一主题

sqlite数据库程序示例 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-08 19:22 |只看该作者 |倒序浏览
/* ###################################
   program.c
   这是一个sqlite数据库示例,显示程序调用的方法.
  ###################################*/

#include
#include

/* 回调函数,用在select语句返回记录集,返回给客户。argc是字段个数,字段内容是argv,字段名
   azColName,NotUsed是调用了callback的次数 */
static int callback(void *NotUsed,int argc,char **argv,char **azColName)
{
int *p=(int *)Used; //count record number.
(*p)++;
int i;
for(i=0;i

int main(int argc, char **argv)
{
  sqlite3 *db;
  char *zErrMsg = 0;
  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, "Can't open database: %s\n", sqlite3_errmsg(db));
    sqlite3_close(db);
    exit(1);
  }
  int num=0;
  rc = sqlite3_exec(db, argv[2],callback,(void *)&num, &zErrMsg);
/* 这是执行调用语句,db是打开的描述符,argv[2]是sql语句,调用callback来显示记录集,
    num是传给callback的参数,一直调用callback到遇到NULL才返回。            */
  if( rc!=SQLITE_OK ){
    fprintf(stderr, "SQL error: %s\n", zErrMsg);//zErrMsg是callback返回的错误信息
    sqlite3_free(zErrMsg);
  }
  printf("num is %d\n",num);
  sqlite3_close(db);
  return 0;
}



ex:
   ./program myfoo.db "select * from saleorder;"


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21905/showart_212317.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP