数据库操作——sqlite3_get_table

来源:互联网 发布:淘宝动漫店 编辑:程序博客网 时间:2024/04/30 07:39
#include <stdio.h>
#include <sqlite3.h>


int main()
{
sqlite3 * db = NULL;
    
int result = sqlite3_open("student.db", &db);
if (result != SQLITE_OK)
{
   printf ("1open student.db error!\n");
return -1;
}


char *errmsg;
result = sqlite3_exec(db, "create table test(ID INTEGER, name TEXT, sex TEXT, age INTEGER, primary key(ID))", NULL, NULL, &errmsg);
if (result != SQLITE_OK && result != 1)
{
   printf ("create test table error : %d(%s)!\n", result, errmsg);
return -1;
}

char **resultp = NULL;
int nrow, ncolumn;

result = sqlite3_get_table(db, "select ID,name from test where sex='F'", &resultp, &nrow, &ncolumn, &errmsg);
if (result != SQLITE_OK)
{
 printf ("select test table error : %d(%s)!\n", result, errmsg);
return -1;
}

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

sqlite3_close(db);
return 0;
}