Lập trình di động - Lab 09: SQLite
Số trang: 7
Loại file: pdf
Dung lượng: 800.20 KB
Lượt xem: 12
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Nội dung của tài liệu trình bày về thao tác với CSDL Sqlite, tạo/mở/đóng CSDL với CSDL Sqlite, xóa CSDL, tạo bảng lớp, class Lop, thêm lớp, sửa lớp, xóa lớp, truy vấn dữ liệu, thực nghiệm, thiết kế giao diện, xử lý sự kiện OnCreate, hàm load dữ liệu đổ vào ListView, sự kiện click lên một Item của ListView, xử lý nút Thêm, xử lý nút Xóa và xử lý nút sửa.
Nội dung trích xuất từ tài liệu:
Lập trình di động - Lab 09: SQLiteVer 1.0 – 2016, FIT - HCMUPLab 09: SQLite1 Thao tác với CSDL Sqlite1.1Tạo/Mở/Đóng CSDL//Tạo mới CSDLSQLiteDatabase db = null;public void CreateDatabase(){db = openOrCreateDatabase("QLSV.db", MODE_PRIVATE, null);}public void CloseDatabase(){if(db.isOpen())db.close();}QLSV.db là tên database lưu trong thư mục: /data/data//databases1.2Xóa CSDLpublic void DeleteDatabase(){String thongbao = "";if(deleteDatabase("QLSV.db")){thongbao = "Đã xóa thành công QLSV.db!!!";}else{thongbao = "Không thể xóa QLSV.db!";}Toast.makeText(MainActivity.this, thongbao, Toast.LENGTH_SHORT).show();}Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM1Ver 1.0 – 2016, FIT - HCMUP1.3Lab 09: SQLiteTạo bảng lớppublic void CreateTableLop(){String sql = "CREATE TABLE Lop(MaLop TEXT PRIMARY KEY, "+ "TenLop TEXT, siso INTEGER) ";db.execSQL(sql);}Lưu ý: Tất cả các thao tác lệnh SQL bao gồm: CREATE, INSERT, UPDATE, DELETE, SELECTđều có thể thực hiện thông qua phương thức execSQL. Tuy nhiên một số thao tác có phương thứcriêng.1.4Class LopĐể thuận tiện cho các thao tác quản lý, tạo class Lop tương ứng với bảng Lop.package com.mobileapp.hienlth.mysqlite;/*** Created by HIENLTH on 5/27/2016.*/public class Lop {public Lop(String maLop, String tenLop) {MaLop = maLop;TenLop = tenLop;}public Lop(String maLop, String tenLop, int siSo) {MaLop = maLop;SiSo = siSo;TenLop = tenLop;}private String MaLop;private String TenLop;private int SiSo;@Overridepublic String toString() {return getMaLop() + " : " + getTenLop() + " : " + getSiSo() + "SV";}Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM2Ver 1.0 – 2016, FIT - HCMUPLab 09: SQLitepublic String getMaLop() {return MaLop;}public void setMaLop(String maLop) {MaLop = maLop;}public String getTenLop() {return TenLop;}public void setTenLop(String tenLop) {TenLop = tenLop;}public int getSiSo() {return SiSo;}public void setSiSo(int siSo) {SiSo = siSo;}}1.5Thêm lớppublic void AddLop(Lop lop){ContentValues values = new ContentValues();try {values.put("MaLop", lop.getMaLop());values.put("TenLop", lop.getTenLop());values.put("SiSo", lop.getSiSo());}catch (Exception ex){Toast.makeText(MainActivity.this, ex.getMessage(), Toast.LENGTH_SHORT).show();}if(db.insert("Lop", null, values) == -1)Toast.makeText(MainActivity.this, "Thất bại", Toast.LENGTH_SHORT).show();Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM3Ver 1.0 – 2016, FIT - HCMUPLab 09: SQLiteelseToast.makeText(MainActivity.this, "Thành công!", Toast.LENGTH_SHORT).show();}1.6Sửa lớppublic void UpdateLop(Lop lop){ContentValues values = new ContentValues();values.put("TenLop", lop.getTenLop());values.put("SiSo", lop.getSiSo());db.update("Lop", values, "MaLop=?", new String[]{lop.getMaLop()});}1.7Xóa lớppublic void XoaLop(String MaLop){//Xóa tất cảif(MaLop == null)db.delete("Lop", null, null);elsedb.delete("Lop", "MaLop=?",new String[]{MaLop});}1.8Truy vấn dữ liệuSử dụng đối tượng Cursor để duyệt qua tập kết quả truy vấn:public Cursor query (String table, String[] columns, String selection, String[]selectionArgs, String groupBy, String having, String orderBy, String limit)trong đó:table : tên bảng truy vấncolumns : danh sách các cột cần lấy.selection : điều kiện lọc (ví dụ: TenCot = ? hay TenCot1 = ? AND TenCot2 = ?)selectionArgs : tham số lọcgroupBy : biểu thức GROUPBYhaving : biểu thức HAVINGThs. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM4Ver 1.0 – 2016, FIT - HCMUPLab 09: SQLiteorderBy : biểu thức ORDERBYlimit : số dòng kết quả cần giới hạn.Các thao tác:.moveToFirst() : về record đầu.moveToLast() : về record cuối.moveToNext() : ra record kế.isAfterLast() : sau cùng???.isBeforeFirst() : đầu tiên???2 Thực nghiệm2.1Thiết kế giao diện2.2Xử lý sự kiện OnCreateCreateDatabase();//Tạo bảng cho lần chạy đầu tiên// CreateTableLop();Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM5
Nội dung trích xuất từ tài liệu:
Lập trình di động - Lab 09: SQLiteVer 1.0 – 2016, FIT - HCMUPLab 09: SQLite1 Thao tác với CSDL Sqlite1.1Tạo/Mở/Đóng CSDL//Tạo mới CSDLSQLiteDatabase db = null;public void CreateDatabase(){db = openOrCreateDatabase("QLSV.db", MODE_PRIVATE, null);}public void CloseDatabase(){if(db.isOpen())db.close();}QLSV.db là tên database lưu trong thư mục: /data/data//databases1.2Xóa CSDLpublic void DeleteDatabase(){String thongbao = "";if(deleteDatabase("QLSV.db")){thongbao = "Đã xóa thành công QLSV.db!!!";}else{thongbao = "Không thể xóa QLSV.db!";}Toast.makeText(MainActivity.this, thongbao, Toast.LENGTH_SHORT).show();}Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM1Ver 1.0 – 2016, FIT - HCMUP1.3Lab 09: SQLiteTạo bảng lớppublic void CreateTableLop(){String sql = "CREATE TABLE Lop(MaLop TEXT PRIMARY KEY, "+ "TenLop TEXT, siso INTEGER) ";db.execSQL(sql);}Lưu ý: Tất cả các thao tác lệnh SQL bao gồm: CREATE, INSERT, UPDATE, DELETE, SELECTđều có thể thực hiện thông qua phương thức execSQL. Tuy nhiên một số thao tác có phương thứcriêng.1.4Class LopĐể thuận tiện cho các thao tác quản lý, tạo class Lop tương ứng với bảng Lop.package com.mobileapp.hienlth.mysqlite;/*** Created by HIENLTH on 5/27/2016.*/public class Lop {public Lop(String maLop, String tenLop) {MaLop = maLop;TenLop = tenLop;}public Lop(String maLop, String tenLop, int siSo) {MaLop = maLop;SiSo = siSo;TenLop = tenLop;}private String MaLop;private String TenLop;private int SiSo;@Overridepublic String toString() {return getMaLop() + " : " + getTenLop() + " : " + getSiSo() + "SV";}Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM2Ver 1.0 – 2016, FIT - HCMUPLab 09: SQLitepublic String getMaLop() {return MaLop;}public void setMaLop(String maLop) {MaLop = maLop;}public String getTenLop() {return TenLop;}public void setTenLop(String tenLop) {TenLop = tenLop;}public int getSiSo() {return SiSo;}public void setSiSo(int siSo) {SiSo = siSo;}}1.5Thêm lớppublic void AddLop(Lop lop){ContentValues values = new ContentValues();try {values.put("MaLop", lop.getMaLop());values.put("TenLop", lop.getTenLop());values.put("SiSo", lop.getSiSo());}catch (Exception ex){Toast.makeText(MainActivity.this, ex.getMessage(), Toast.LENGTH_SHORT).show();}if(db.insert("Lop", null, values) == -1)Toast.makeText(MainActivity.this, "Thất bại", Toast.LENGTH_SHORT).show();Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM3Ver 1.0 – 2016, FIT - HCMUPLab 09: SQLiteelseToast.makeText(MainActivity.this, "Thành công!", Toast.LENGTH_SHORT).show();}1.6Sửa lớppublic void UpdateLop(Lop lop){ContentValues values = new ContentValues();values.put("TenLop", lop.getTenLop());values.put("SiSo", lop.getSiSo());db.update("Lop", values, "MaLop=?", new String[]{lop.getMaLop()});}1.7Xóa lớppublic void XoaLop(String MaLop){//Xóa tất cảif(MaLop == null)db.delete("Lop", null, null);elsedb.delete("Lop", "MaLop=?",new String[]{MaLop});}1.8Truy vấn dữ liệuSử dụng đối tượng Cursor để duyệt qua tập kết quả truy vấn:public Cursor query (String table, String[] columns, String selection, String[]selectionArgs, String groupBy, String having, String orderBy, String limit)trong đó:table : tên bảng truy vấncolumns : danh sách các cột cần lấy.selection : điều kiện lọc (ví dụ: TenCot = ? hay TenCot1 = ? AND TenCot2 = ?)selectionArgs : tham số lọcgroupBy : biểu thức GROUPBYhaving : biểu thức HAVINGThs. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM4Ver 1.0 – 2016, FIT - HCMUPLab 09: SQLiteorderBy : biểu thức ORDERBYlimit : số dòng kết quả cần giới hạn.Các thao tác:.moveToFirst() : về record đầu.moveToLast() : về record cuối.moveToNext() : ra record kế.isAfterLast() : sau cùng???.isBeforeFirst() : đầu tiên???2 Thực nghiệm2.1Thiết kế giao diện2.2Xử lý sự kiện OnCreateCreateDatabase();//Tạo bảng cho lần chạy đầu tiên// CreateTableLop();Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM5
Tìm kiếm theo từ khóa liên quan:
Tài liệu Lập trình Lập trình di động Thao tác với CSDL Sqlite Truy vấn dữ liệu Thiết kế giao diện Xử lý sự kiệnGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Lập trình trên thiết bị di động (Mobile Programming) bậc đại học
13 trang 219 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 192 0 0 -
Giáo trình Phân tích thiết kế hệ thống thông tin quản lý: Phần 2
36 trang 175 0 0 -
Bài giảng Phân tích thiết kế hệ thống thông tin - Chương 9: Thiết kế giao diện
21 trang 175 0 0 -
Đề tài: Thiết kế hệ thống điều khiển và giám sát trên nền WinCC sử dụng mạng Profibus
174 trang 173 0 0 -
204 trang 127 1 0
-
Giáo trình Lập trình C căn bản - HanoiAptech Computer Education Center
136 trang 121 0 0 -
Bài giảng lập trình c căn bản - Trường Apptech - Chương 4
27 trang 117 0 0 -
Giáo trình Công nghệ phần mềm - Đề tài Quản lý nhà sách
79 trang 113 0 0 -
Ngôn ngữ lập trình C# 2005 - Tập 4, Quyển 1: Lập trình cơ sở dữ liệu (Phần 1)
208 trang 110 0 0