http://vietjack.com/sqlite/index.jsp Copyright © vietjack.com Sử dụng SQLite với C/C++ Cài đặt Trước sử dụng SQLite chương trình C/C++, bạn cần đảm bảo có SQLite Library cài đặt máy tính Bạn kiểm tra chương Cài đặt SQLite để biết tiến trình cài đặt, cần C/C++ Interface APIs Dưới số chương trình C&C++ / SQLite Interface đủ để đáp ứng yêu cầu bạn làm việc với SQLite Database từ chương trình C/C++ bạn Nếu bạn muốn tìm ứng dụng tinh vi hơn, bạn tìm SQLite Documentation STT API & Miêu tả sqlite3_open(const char *filename, sqlite3 **ppDb) Chương trình mở kết nối tới SQLite database file trả đối tượng database connection để sử dụng chương trình SQLite khác Nếu tham số filename NULL ':memory:', sqlite3_open() tạo in-memory database RAM mà tồn suốt phiên Nếu filename không NULL, sqlite3_open() cố gắng mở database file sử dụng giá trị Nếu khơng có file tồn với tên đó, hàm sqlite3_open() mở database file tên sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg) Chương trình cung cấp cách thức nhanh dễ dàng để thực thi lệnh SQL cung cấp tham số sql mà bao gồm nhiều lệnh SQL Ở đây, tham số sqlite3 đối tượng open database, sqlite_callback callback từ data tham số errmsg trả để bắt lỗi tạo chương trình Chương trình sqlite3_exec() phân tích thực thi lệnh cho tham http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/sqlite/index.jsp Copyright © vietjack.com số sql tới tiến tới phần cuối chuỗi bắt gặp lỗi sqlite3_close(sqlite3*) Chương trình đóng database connection mở trước lời gọi tới hàm sqlite3_open() Tất lệnh chuẩn bị mà gắn kết với connection nên bị kết thúc trước đóng connection Nếu tồn truy vấn chưa kết thúc, sqlite3_close() trả SQLITE_BUSY với thông báo lỗi Unable to close due to unfinalized statements Kết nối tới Database Chương trình C sau minh họa cách kết nối tới Database tồn Nếu Database khơng tồn tại, tạo, cuối đối tượng Database trả #include #include int main(int argc, char* argv[]) { sqlite3 *db; char *zErrMsg = 0; int rc; rc = sqlite3_open("test.db", &db); if( rc ){ fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); exit(0); }else{ fprintf(stderr, "Opened database successfully\n"); } sqlite3_close(db); } Bây giờ, biên dịch chạy chương trình để tạo sở liệu test.db thư mục Bạn thay đổi Path tùy theo yêu cầu $gcc test.c -l sqlite3 $./a.out Opened database successfully Nếu bạn sử dụng C++ source code, bạn biên dịch chương trình sau: $g++ test.c -l sqlite3 Ở đây, chúng liên kết chương trình với SQLite3 Library để cung cấp hàm cần thiết cho chương trình C Việc tạo Database file test.db thư mục bạn có kết sau: -rwxr-xr-x root root 7383 May 02:06 a.out -rw-r r root root May 02:05 test.c -rw-r r root root May 02:06 test.db 323 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/sqlite/index.jsp Copyright © vietjack.com Tạo bảng Chương trình C sau sử dụng để tạo bảng Database tạo trước #include #include #include static int callback(void *NotUsed, int argc, char **argv, char **azColName){ int i; for(i=0; i