Để đáp ứng nhu cầu lưu trữ và xử lý dữ liệu cho ứng dụng của bạn, bada cung cấp lớp (class) với các phương thức (methods) để thao tác với cơ sở dữ liệu một cách hiệu quả.
Nếu bạn đọc đã từng sử dụng SQLlite trước đó thì đến với cơ sở dữ liệu của bada thật dễ dàng bởi đó là nền tảng cơ sở dữ liệu mở phổ biến hiện nay. Bài viết này, chúng tôi muốn đề cập đến bạn đọc cách sử dụng cũng như các thao tác xử lý cơ bản trên cơ sở dữ liệu của bada.
Các lớp cần thiết để thao tác với cơ sở dữ liệu như:
1. Database: Thực hiện các tính năng cơ sở dữ liệu cơ bản để tạo ra (create) và xóa (delete) các tập tin cơ sở dữ liệu, thực hiện các lệnh SQL, và thực hiện các nhiệm vụ khác trong việc quản lý cơ sở dữ liệu chung.
2. DbStatement: Cung cấp một phương thức để tạo và đánh giá các lệnh trước khi biên dịch.
3. DbEnumerator: Cung cấp một phương thức để điều hướng kết quả của DbStatement.
Các thao tác cơ bản khi sử dụng cơ sở dữ liệu:
a. Tạo database mới hoặc mở database đã tồn tại.
Trước khi bạn sử dụng một cơ sở dữ liệu (database) hoặc tạo các bảng (tables) cho cơ sở dữ liệu thì việc làm trước tiên nhất là phải mở một kết nối đến cơ sở dữ liệu.
Khi bạn mở một cơ sở dữ liệu, thì một cơ sở dữ liệu rỗng (empty) sẽ tự động tạo ra nếu cơ sở dữ liệu đó chưa tồn tại. Và ngược lại.
Database database; DbStatement* pStmt; DbEnumerator* pEnum; String dbName(L"/Home/sampleDb"); String sql, sql2, sql3; String statement; String stringItem; result r = E_SUCCESS; r = database.Construct(dbName, true);
Bạn cần chú ý đến quyền truy cập (permissions) và chế độ đọc viết (read-write) của thư mục lưu trữ cơ sở dữ liệu. Với thưc mục “/Home” sẵn sàng chon ứng dụng của bạn có thể đọc và ghi tập tin.
b. Tạo bảng (table) cho cơ sở dữ liệu
Cú pháp quen thuộc của SQLlite sẽ được sự dụng tại đây. Nếu bạn chưa từng biết đến SQLlite thì có thể tìm hiểu thêm tài liệu tại đây!
sql.Append(L"CREATE TABLE IF NOT EXISTS myTable1 ( column0 INTEGER PRIMARY KEY, column1 DOUBLE, column2 TEXT )"); r = database.ExecuteSql(sql, true);
c. Thêm dữ liệu mới
Sử dụng “DbStatement” để đánh giá các câu lệnh truy vấn với dữ liệu thêm vào động. Và kết quả truy vấn được do “DbEnumerator” quản lý.
database.BeginTransaction();
statement.Append(L"INSERT INTO myTable1 (column0, column1, column2) VALUES (?, ?, ?)");
pStmt = database.CreateStatementN(statement);
stringItem.Append(L"Initial Data");
for (int i=0; i<10; i++) { pStmt->BindInt(0, i); // integer
pStmt->BindDouble(1, i*0.1); // double
pStmt->BindString(2, stringItem); // String
pEnum = database.ExecuteStatementN(*pStmt);
}
database.CommitTransaction();
d. Cập nhật dữ liệu đã tồn tại
database.BeginTransaction(); sql3.Append(L"UPDATE myTable1 SET column2 = ‘Converted Data’ WHERE column2 = ‘Initial Data’"); r = database.ExecuteSql(sql3, true); database.CommitTransaction();
e. Xóa dữ liệu đã tồn tại
database.BeginTransaction(); sql2.Append(L"DELETE FROM myTable1 WHERE column0 = 1&"); r = database.ExecuteSql(sql2, true); database.CommitTransaction();
f. Đóng và xóa cơ sở dữ liệu
delete pEnum; r = Database::Delete(dbName);
Với những thao tác cơ bản nêu trên, bạn đọc đã có thể sử dụng tốt cơ sở dữ liệu riêng cho từng ứng dụng của mình rôi.
Chúc bạn thành công!

Its an use full tutorial, these kind of example are not even available in example which comes in SDK