Tuesday, October 20, 2015


1. SQLite database
Quản trị cơ sở dữ liệu theo dạng bảng.

- SQLite Home Page
- SQLite Tutorial
- SQLite Browser

Để dễ dàng trong việc hiểu và sử dụng bạn nên kết hợp việc sử dụng phần mềm SQLite Browser với việc đọc tài liệu về SQLite.

Build sqlite-autoconf-3090100
 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin    
 export CROSS=arm-none-linux-gnueabi-    
 export HOST=arm-none-linux-gnueabi   
   
 ./configure --prefix=$PREFIX --host=${HOST} \  
 CC=${CROSS}gcc  

2. Ví dụ
sqlite_eg.c
   
 #include <stdio.h>  
 #include <sqlite3.h>  
   
 static int callback(void *NotUsed, int argc, char **argv, char **azColName){  
  int i;  
  for(i=0; i<argc; i++){  
   printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");  
  }  
  printf("\n");  
  return 0;  
 }  
   
 int main(int argc, char **argv){  
  sqlite3 *db;  
  char *zErrMsg = 0;  
  int rc;  
   
  if( argc!=3 ){  
   fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);  
   return(1);  
  }  
  rc = sqlite3_open(argv[1], &db);  
  if( rc ){  
   fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));  
   sqlite3_close(db);  
   return(1);  
  }  
  rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);  
  if( rc!=SQLITE_OK ){  
   fprintf(stderr, "SQL error: %s\n", zErrMsg);  
   sqlite3_free(zErrMsg);  
  }  
  sqlite3_close(db);  
  return 0;  
 }  
   

Build app (ví dụ build cho host, cho board tương tự)
 DEPEND_LIB_DIR=/path/to/sqlite/install
 export CFLAGS=-I${DEPEND_LIB_DIR}/include  
 export CPPFLAGS=-I${DEPEND_LIB_DIR}/include  
 export LDFLAGS=-L${DEPEND_LIB_DIR}/lib  
 export PKG_CONFIG_PATH=${DEPEND_LIB_DIR}/lib/pkgconfig  
 export LD_LIBRARY_PATH=${DEPEND_LIB_DIR}/lib  
 export PATH=$PATH:${DEPEND_LIB_DIR}/bin:${DEPEND_LIB_DIR}/sbin  
 export LIBS="-lsqlite3"  
   
 gcc sqlite_ex.c ${CFLAGS} ${LDFLAGS} ${LIBS} -o mysqlapp  

Chạy ví dụ:
 $ ./mysqlapp mydata.db "create table tbl1(one varchar(10), two smallint)"  
 $ ./mysqlapp mydata.db "insert into tbl1 values('hello', 10)"  
 $ ./mysqlapp mydata.db "insert into tbl1 values('goodbye', 20)"  
 $ ./mysqlapp mydata.db "select * from tbl1"  
 one = hello  
 two = 10  
   
 one = goodbye  
 two = 20  

- Tạo SQLite database mydata.db
- Trong database tạo bảng có tên tb1
- Bảng tb1 có hai trường one có kiểu dữ liệu char và trường two có kiểu dữ liệu int
- Chèn record có giá trị 'hello' và '10' tương ứng với trường one và two
- Chèn record có giá trị 'goodbye' và '20' tương ứng với trường one và two
- Hiển thị tất cả các record
- Dùng phần mềm SQL Browser để mở database mydata.db
   (yum install sqlitebrowser)





Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Lập trình hệ thống nhúng Linux . Powered by Luong Duy Ninh -