Day 6: Local Database trong Windows phone 7 (Sử dụng LINQ to SQL)

Tại sao tôi lại đăng bài Tìm hiểu về LINQ trước bài này, thực ra bài hôm nay sẽ vận dụng một số kiến thức về LINQ, giúp bạn có thể tạo một cơ sở dữ liệu dưới dạng Local Database và truy xuất dữ liệu nhờ linq, việc sử dụng Local database cũng là một giải pháp giúp bạn bảo toàn và truy cập dữ liệu Offline nhanh nhất. Để hiểu xâu về bài này bạn đòi hỏi phải hiểu sơ qua về cấu trúc và cách làm việc của LINQ, không nói nhiều nữa ta bắt đầu nào:

-Các việc ta cần làm sẽ theo thứ tự sau:

+Tạo cơ sở dữ liệu Database CE 4.0 nếu dùng VS2012, hoặc Database CE3.5 nếu dùng VS2010

+Tạo file Datacontext LINQ to SQL  trích xuất từ file cơ sở dữ liệu mà ta tạo từ bước 1

+Thiết kế giao diện và cài đặt

Bước 1: bạn xem video dưới đây

-Video này giúp bạn có thể hiểu được cách tạo CSDL và trích xuất ra file Datacontext

Bước 2: Add file Datacontext và thư viện linq vào project

Snap6

Bước 3: Thiết kế giao diện

-Ta tạo 3 Page như dưới trong đó trang “Quản lý sinh viên” sẽ là trang khởi chạy

MainPage.xaml

Snap7

Trang PageNhapthongtin.xaml

Snap8

Trang PageXemthongtin.xaml

Trang này chứa 1 button và 1 Listbox

Snap9

Code Xaml:

Snap17

Bước 4: Ta tạo một Class DBHelper.cs mới và cài đặt như hình dưới

Snap13 Snap14

Chú ý: bạn chú ý đến các mũi tên đỏ, nó sẽ liên quan đến tên của bảng và phương thức trong file Datacontext mà ta đã tạo ngay từ Bước 1

bạn có thể xem hình dưới đây để tránh việc nhầm

Snap15

-Và một chú ý cuối cùng là bạn phải đổi lại “[global::System.Data.Linq.Mapping.DatabaseAttribute(Name=”/abcd/egh../database.sdf“)]

thành [global::System.Data.Linq.Mapping.DatabaseAttribute(Name=”Database”)]

Bước 5: Cài đặt Chương trình

-Trang MainPage.xaml ta cài đặt như hình dưới

Snap10

-Trang PageNhapthongtin.xaml

Snap11

-Trang PageXemthongtin.xaml

Snap12

-Và cuối cùng nhấn F5 để chạy chương trình

Snap16

Bài tập:

Wait…

26 bình luận về “Day 6: Local Database trong Windows phone 7 (Sử dụng LINQ to SQL)

  1. Bài viết của anh rất hay và hữu .
    Nhưng em còn có một vấn đề thắc mắc, là với Local Database, thì khi mình nhập dữ liệu vào ứng dụng thì khi thoát khỏi ứng dụng( tức là ứng dụng nàm ở trang thái “CLOSE”, hoặc build lại project khi làm việc trên Visual Studio) thì dữ liệu của mình nhập vào mất hoàn toàn :(.
    Vậy cho em hỏi có cách nào để lưu dữ liệu trên Database như các ứng dụng trên WIndows không ạ.
    Em cảm ơn.

    • khi bạn đã lưu thì nó sẽ lằm tịt luôn trong stored, trừ khi bạn gỡ ứng dụng rồi cài lại thì nó mới mất, còn ko khi build bao nhiêu lần đi nữa mà giá trị trong file ko thỏa mãn điều kiện bạn lưu hay bất cứ cái gì đó thì nó sẽ vẫn dữ giá trị mà bạn đã lưu, cơ chế này bạn có thể xem thêm trong bài mình, nó rất hữu ích trong việc quản lý điểm số khi bạn làm game 🙂

  2. Cho e hỏi nếu mình tạo 1 page mới gồm : Họ Tên , MSSV . Khi bấm vào 1 item trong listbox trong page XemThongTin.xaml . Nó sẽ hiễn thị : Họ Tên :….. , MSSV:….. . Là Item mình đã chọn thì làm sao ạ

  3. Anh cho em hỏi , nếu mình có 1 csdl có sẵn vậy làm sao mình đưa vào được ạ . Minh có thể add sẵn dữ liệu vào không anh mà không cần tới trang PageNhapThongTin

  4. a ơi cho e hỏi là e có 1 dữ liệu lúc chạy là xem thôi chứ không có thêm như ví dụ thêm thông tin ở trên,a có cách nào không chỉ e với,em mới wp ak nên còn mơ hồ

    • mình ko rõ bạn dùng csdl gì, nếu bạn dùng sql ce thì làm như trên, còn các csdl khác như xml hay json thì đơn giản hơn, nếu bạn học c# hay môn xml rồi thì có thể làm được

  5. e dư định làm list karaoke ak,dự liệu e đưa vô là tên bài hát,e làm sql ce ak,ý e là dự liệu bài hát đưa vô làm sao và lấy ra để xem như ở trên ak

  6. anh ơi. sao trong DBHelper.cs em khai báo mấy cái dấu đỏ nó báo sinh viên là 1 namespace ko thể đưa vào được anh ? em làm 1 bài khác… giờ em demo thử bài này.

  7. Cho em hỏi Với windowphone thì mình có những loại csdl nào dùng để lưu trữ với các ứng dụng lớn, nhỏ và trung bình ạ?

Gửi phản hồi cho Tuấn Anh Hủy trả lời