Thứ Ba, 11 tháng 11, 2014

SQLite cơ bản (phần 3): Xây dựng ứng dụng với C# và SQLite

Ở phần này cũng là phần cuối trong loạt bài về SQLite, tôi sẽ xây dựng một ứng dụng nhỏ nhằm demo việc sử dụng C# với SQLite. Chúng ta sẽ sử dụng thư viện System.Data.SQLite được cung cấp sẵn trên tranghttp://sqlite.org/download.html, bạn tìm đến mục Precompiled Binaries for .NET download về và cài đặt, chương trình sẽ tự động tích hợp vào phần Toolbox của Visual Studio. Tuy nhiên, ở đây sau khi cài đặt, bạn hãy tìm đến fileSystem.Data.SQLite trong thư mục C:\Program Files\SQLite.NET\bin, copy file này vào thư mục project tạo bởi C#. Cách sử dụng thư viện này cực kỳ đơn giản nếu bạn đã làm quen với ADO.NET.

Chúng ta sẽ sử dụng lại database đã tạo ra ở phần 2, ứng dụng của chúng ta có giao diện như sau, nó có các chức năng thêm, xóa, sửa vào table tb1 trong database db1 như đã tạo ra ở phần trước:
SQLite và C# demo


Bạn tạo một new project trên C# và đặt tên là SQLiteLearning :

SQLite Learning

Add reference, tìm tới file System.Data.SQLite, nhớ thêm vào mệnh đề thông báo
using System.Data.SQLite như hình sau:

Sau đây là toàn bộ mã nguồn của chương trình với giao diện như trên:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SQLite;

namespace SQLiteLearning
{
    public partial class Form1 : Form
    {
        SQLiteConnection conn = new SQLiteConnection();
        SQLiteCommand cmd = new SQLiteCommand();
       
        SQLiteDataAdapter adapter = new SQLiteDataAdapter();
       
        DataTable dt1 = new DataTable();
        BindingSource bs = new BindingSource();
        public Form1()
        {
            InitializeComponent();
            this.Load += new EventHandler(Form1_Load);
            btnLoad.Click += new EventHandler(btnLoad_Click);
            btnAddnew.Click += new EventHandler(btnAddnew_Click);
            btnSave.Click += new EventHandler(btnSave_Click);
            btnRemove.Click += new EventHandler(btnRemove_Click);
     
        }

        void btnRemove_Click(object sender, EventArgs e)
        {
            DataRow dr = ((DataRowView)bs.Current).Row;
            cmd.CommandText = "delete from tb1 where ID = " + dr["ID"].ToString();
            conn.Open();
            cmd.ExecuteNonQuery();
            bs.RemoveCurrent();
            conn.Close();
        }

        void btnSave_Click(object sender, EventArgs e)
        {
            conn.Open();
            DataRow dr = (( DataRowView)bs.Current).Row;

            // Nếu bản ghi đã tồn tại thì xóa trước, sau đó insert dòng đã thay đổi vào
            cmd.CommandText = "delete from tb1 where ID = " + dr["ID"].ToString();
            cmd.ExecuteNonQuery();
           
            cmd.CommandText = "insert into tb1 values(" + dr["ID"].ToString() + ", '" + dr["Name"] + "')";
            cmd.ExecuteNonQuery();

            conn.Close();
        }

        void btnAddnew_Click(object sender, EventArgs e)
        {
            bs.AddNew();
        }

        void btnLoad_Click(object sender, EventArgs e)
        {
            LoadData();
        }

        void Form1_Load(object sender, EventArgs e)
        {
            LoadData();
        }

        private void LoadData()
        {
            cmd.Connection = conn;
            adapter.SelectCommand = cmd;
            conn.ConnectionString = @"data source=C:\Users\user01\db1.db";
            cmd.CommandText = "select * from tb1";
            adapter.SelectCommand = cmd;
            dt1.Rows.Clear();
            adapter.Fill(dt1);
            bs.DataSource = dt1;
            dataGridView1.DataSource = bs;
        }
    }
}
Sau 3 bài làm quen với SQLite, chúng ta đã có những hiểu biết căn bản đủ để làm một ứng dụng nhỏ bằng SQLite và C#, chúng ta tạm dừng đề tài SQLite tại đây,  tôi sẽ gửi tới cộng đồng các bài viết nâng cao khi điều kiện cho phép.
-----------------------------------------------------------------------------
Nếu quý vị có bất kỳ chia sẻ gì, xin vui lòng để lại comment, tác giả hoan nghênh và đón nhận mọi ý kiến xây dựng và góp ý.

1 nhận xét:

  1. How to Make Money From Using Scratchcards.pdf
    What does scratchcards mean? · The idea of scratchcards is that the cards are kept in a piece of paper that fits neatly on the surface หารายได้เสริม of your

    Trả lờiXóa