Limit digunakan untuk membatasi agar hanya beberapa baris data saja yang ditampilkan. Kalian mungkin akan membutuhkannya jika kalian ingin membuat paginasi.
Sintaksnya :
- Statement_select Limit indeks_awal, jumlah_data
Contoh query :
- Select * from siswa limit 0, 4
Contoh :
//install librarynya kalau belum ada
#include <iostream>
#include <sqlite3.h>
char *err;
typedef char stringku[30];
int callback(void *notused, int jkolom, char **dataku, char **kolom){
for(int i=0;i<jkolom;i++){
printf("%s : %s\n", kolom[i], dataku[i]);
}
printf("\n");
return 0;
}
void isi_database(sqlite3 *conn){
char query[255];
static stringku data[8][3]={{"Deri", "3A", "75"}, {"Panji", "3A", "95"}, {"Romi", "3A", "80"}, {"Doni", "3B", "70"}, {"Jennie", "3B", "60"}, {"Roni", "3C", "50"}, {"Hani", "3C", "45"}, {"Mini", "3C", "40"}};
sqlite3_exec(conn, "Create Table siswa(id INTEGER Primary Key, nama Text, kelas Text, nilai INTEGER);", 0, 0, &err);
//tambahkan data
for(int i=0;i<8;i++){
sprintf(query, "INSERT INTO siswa(id, nama, kelas, nilai) VALUES('%d', '%s', '%s', '%s')", i, data[i][0], data[i][1], data[i][2]);
sqlite3_exec(conn, query, 0, 0, &err);
}
}
int main(){
int res=0;
sqlite3 *conn=NULL;
sqlite3_stmt *stmt=NULL;
sqlite3_open("databaseku.dat", &conn);
//jika database kosong, tambah tabel
sqlite3_exec(conn, "Drop Table siswa", 0, 0, &err);
isi_database(conn);
//gunakan query
printf("0-4\n");
sqlite3_exec(conn, "SELECT * FROM siswa Limit 0, 4", callback, 0, &err);
printf("\n4-8\n");
sqlite3_exec(conn, "SELECT * FROM siswa Limit 4, 4", callback, 0, &err);
sqlite3_close(conn);
return 0;
}
Output :
0-4 id : 0 nama : Deri kelas : 3A nilai : 75 id : 1 nama : Panji kelas : 3A nilai : 95 id : 2 nama : Romi kelas : 3A nilai : 80 id : 3 nama : Doni kelas : 3B nilai : 70 4-8 id : 4 nama : Jennie kelas : 3B nilai : 60 id : 5 nama : Roni kelas : 3C nilai : 50 id : 6 nama : Hani kelas : 3C nilai : 45 id : 7 nama : Mini kelas : 3C nilai : 40