sqlite3_get_table()
{
sqlite3 *db创建数据库类型的指针,通过sqlite3_open()函数使db指针指向该数据库。 注意: 1、char **dbResult;字符型的二重指针,将数据库里sqlite3_get_table()出来的数据以字符的方式给dbResult。 2、select * from age;查询student数据库里的age表全部内容。 3、my_age = atoi(dbResult[nColumn]);将查询出来给dbResult的数据(字符)通过aoti()转换成整型交给变量my_age供程序中直接应用。 重点:(假设age表里有n个字段) 1、通过select * from age;给dbResult的字符前n个(0,n)为字段名称(只有计算机认识),dbResult[n]以后分别代表字段的值(包括dbResult[n])。如图 * * * * .........* (dbResult[0]~[n-1]分别代表字段名) dbResult[n] [n+1] [n+2] [n+3].....[n+n-1] (dbResult[n]~[n+n-1]分别代表第一条记录的值) dbResult[2n][2n+1][2n+2][2n+3]....[2n+n-1](dbResult[2n]~[2n+n-1]分别代表第二条记录的值) dbResult[3n][3n+1][3n+2]32n+3]....[3n+n-1](dbResult[3n]~[3n+n-1]分别代表第三条记录的值) 注:sqlite3_get_table()之后便将以上的n(字段数:简称列)给了nColumn这个变量,可直接应用。nRow变量代表共有多少条记录,可直接应用。 2、通过select * from age where id=0;如果查到0条记录的话nRow等于0,查到1条记录的话nRow等于1,假设查到1条数据,举例: * * * * .........* (dbResult[0]~[n-1]分别代表字段名) dbResult[n] [n+1] [n+2] [n+3].....[n+n-1] (dbResult[n]~[n+n-1]分别代表第一条记录的值) 注:此时dbResult[]只有0~2n-1共2n个字符,此时如果对dbResult[2n]引用的话就会出错。查询两条语句的话以此类推。 * * * * .........* (dbResult[0]~[n-1]分别代表字段名) dbResult[n] [n+1] [n+2] [n+3].....[n+n-1] (dbResult[n]~[n+n-1]分别代表第一条记录的值) dbResult[2n][2n+1][2n+2][2n+3]....[2n+n-1](dbResult[2n]~[2n+n-1]分别代表第二条记录的值) 注:此时dbResult[]只有0~3n-1可引用。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |