#include <stdio.h>
#include <sqlite3.h>
#include <string.h>
#include <stdlib.h>
int print(void* para, int columnCount, char **columnValue, char **columnName)
{
int j;
for (j = 0; j < columnCount; j++)
{
printf("%s = %s ", columnName[j], columnValue[j]);
}
printf("\n");
return 0;
}
int main()
{
sqlite3 *ppdb;
int ret, i;
char sql[100] = {0};
char name[20] = {0};
int id;
char sex;
ret = sqlite3_open("student.db", &ppdb);
if (ret != SQLITE_OK)
{
perror("sqlite3_open");
exit(1);
}
sprintf(sql, "create table if not exists student (name text, id integer, sex text);");
ret = sqlite3_exec(ppdb, sql, NULL, NULL, NULL);
if (ret != SQLITE_OK)
{
perror("sqlite3_exec1");
exit(1);
}
for (i = 0; i < 3; i++)
{
memset(sql, 0, sizeof(sql));
scanf("%s %d %c", name, &id, &sex);
sprintf(sql, "insert into student (name, id, sex) values ('%s', %d, '%c');", name, id, sex);
ret = sqlite3_exec(ppdb, sql, NULL, NULL, NULL);
if (ret != SQLITE_OK)
{
perror("sqlite3_exec2");
exit(1);
}
memset(name, 0, sizeof(name));
}
sprintf(sql, "select * from student;");
ret = sqlite3_exec(ppdb, sql, print, NULL, NULL);
if (ret != SQLITE_OK)
{
perror("sqlite3_exec3");
exit(1);
}
return 0;
}