1.7

来源:互联网 发布:新日铁软件 张涛 编辑:程序博客网 时间:2024/05/16 06:57
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>


void create_table(sqlite3 * db)
{
char * errmsg = NULL;
char * sql;


sql = "create table if not exists mytable (id integer primary key,name text);";


if( SQLITE_OK != sqlite3_exec(db,sql,NULL,NULL,&errmsg))
{
printf("operate failed: %s\n",errmsg);
exit(-1);
}

}


int insert_record(sqlite3 * db)
{
char * errmsg = NULL;
char sql[50];
int  id;
char name[50];

printf("璇蜂綘杈撳叆id鍜宯ame:");
scanf("%d,%s",&id,name);


sprintf(sql, "insert into mytable (id,name) values (%d,'%s');",id,name); // %s 鐨勫崟寮曞彿锛?
if( SQLITE_OK != sqlite3_exec(db,sql,NULL,NULL,&errmsg))
{
printf("inesrt failed: %s\n",errmsg);
exit(-1);
}
}


int displaycb(void * para,int n_col,char ** column_value,char ** column_name)
{
int i;
printf("total column is %d\n",n_col);



printf("%8s%8s\n","id","name");
for(i = 0; i < n_col; i++)
{
printf("%8s",column_value[i]);
}
printf("\n");
printf("---------------------------\n");


return 0;
}


void inquire_usecb(sqlite3 * db)
{
char * errmsg = NULL;
char * sql;


sql = "select * from mytable;";


if( SQLITE_OK != sqlite3_exec(db,sql,displaycb,NULL,&errmsg))
{
printf("inquire failed: %S\n",errmsg);
exit(-1);
}
}


void delete_table(sqlite3 * db)
{
char * errmsg = NULL;
char  sql[50];
int id;

printf("璇疯緭鍏ヨ鍒犻櫎鐨刬d锛?);
scanf("%d",&id);
sprintf(sql, "delete from mytable where id = %d;",id);


if( SQLITE_OK != sqlite3_exec(db,sql,displaycb,NULL,&errmsg))
{
printf("delete failed: %S\n",errmsg);
exit(-1);
}
else
{
printf("delete ok!\n");
}

}


void inquire_nocb(sqlite3 * db)
{
int nrow,ncolumn;
char ** azresult;
char * sql;
char * errmsg;
int i;


sql = "select * from mytable;";


if( SQLITE_OK != sqlite3_get_table(db,sql,&azresult,&nrow,&ncolumn,&errmsg))
{
printf("%s\n",errmsg);
exit(-1);
}


printf("row:%d     column:%d\n",nrow,ncolumn);
printf("result:\n");


for(i = 0; i < (nrow + 1) * ncolumn; i++)
{
printf("%8s",azresult[i]);
if((i + 1) % ncolumn == 0)
{
printf("\n");
}
}

sqlite3_free_table(azresult);
}
int main()
{


sqlite3 * db;

//鎵撳紑鏁版嵁搴? if( SQLITE_OK != sqlite3_open("mydatabase",&db))
{
printf("open database failed:%s \n",sqlite3_errmsg(db));
}
else
{
printf("open datebase successed!\n");
}


//鍒涘缓琛? create_table(db);

//鎻掑叆鏁版嵁
insert_record(db);

//浣跨敤鍥炴帀鍑芥暟
inquire_usecb(db); 
    
delete_table(db); 
//鍏抽棴鏁版嵁搴? printf("***********************\n");
inquire_nocb(db); 

sqlite3_close(db);



return 0;
}
0 0