Lập trình phần mềm Quản lý quán cafe với...

Serial tutorial lập trình phần mềm Quản lý quán cafe với C# Winform

Giới thiệu design patern Singleton phần mềm Quản lý quán cafe với C# Winform Giới thiệu design patern Singleton phần mềm Quản lý quán cafe với C# Winform Giới thiệu design patern Singleton phần mềm Quản lý quán cafe với C# Winform Giới thiệu design patern Singleton phần mềm Quản lý quán cafe với C# Winform Giới thiệu design patern Singleton phần mềm Quản lý quán cafe với C# Winform 0/5 (68 reviews)

Giới thiệu design patern Singleton phần mềm Quản lý quán cafe với C# Winform

Đã đăng 2016-11-24 07:25:45 bởi HowKteam
3 bình luận 13334 lượt xem
Giới thiệu design patern Singleton phần mềm Quản lý quán cafe với C# Winform 0 /5 stars (2 reviews)
 

Không có gì tuyệt vời hơn là luyện tập với ví dụ thực tế. Nào cùng nhau thử thách bản thân với phần mềm: Quản lý quán cafe

Bạn nên có kiến thức về:

  • Lập trình Winform cơ bản
  • Delegate – Event
  • SQL server
  • Xử lý ngày tháng năm

Code fAdmin.cs

using QuanLyQuanCafe.DAO;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace QuanLyQuanCafe
{
    public partial class fAdmin : Form
    {
        public fAdmin()
        {
            InitializeComponent();

            LoadAccountList();
        }

        void LoadFoodList()
        {
            string query = "select * from food";

            dtgvFood.DataSource = DataProvider.Instance.ExecuteQuery(query);
        }

        void LoadAccountList()
        {

            string query = "EXEC dbo.USP_GetAccountByUserName @userName";                        

            dtgvAccount.DataSource = DataProvider.Instance.ExecuteQuery(query, new object[]{"staff"});
        }
    }
}

Code DataProvider.cs

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace QuanLyQuanCafe.DAO
{
    public class DataProvider
    {
        private static DataProvider instance; // Ctrl + R + E

        public static DataProvider Instance
        {
            get { if (instance == null) instance = new DataProvider(); return DataProvider.instance; }
            private set { DataProvider.instance = value; }
        }

        private DataProvider(){}

        private string connectionSTR = "Data Source=.\\sqlexpress;Initial Catalog=QuanLyQuanCafe;Integrated Security=True";

        public DataTable ExecuteQuery(string query, object[] parameter = null)
        {
            DataTable data = new DataTable();

            using (SqlConnection connection = new SqlConnection(connectionSTR))
            {
                connection.Open();

                SqlCommand command = new SqlCommand(query, connection);
                
                if (parameter != null)
                {
                    string[] listPara = query.Split(' ');
                    int i = 0;
                    foreach (string item in listPara)
                    {
                        if (item.Contains('@'))
                        {
                            command.Parameters.AddWithValue(item, parameter[i]);
                            i++;
                        }
                    }
                }
                
                SqlDataAdapter adapter = new SqlDataAdapter(command);

                adapter.Fill(data);

                connection.Close();
            }

            return data;
        }

        public int ExecuteNonQuery(string query, object[] parameter = null)
        {
            int data = 0;

            using (SqlConnection connection = new SqlConnection(connectionSTR))
            {
                connection.Open();

                SqlCommand command = new SqlCommand(query, connection);

                if (parameter != null)
                {
                    string[] listPara = query.Split(' ');
                    int i = 0;
                    foreach (string item in listPara)
                    {
                        if (item.Contains('@'))
                        {
                            command.Parameters.AddWithValue(item, parameter[i]);
                            i++;
                        }
                    }
                }

                data = command.ExecuteNonQuery();

                connection.Close();
            }

            return data;
        }

        public object ExecuteScalar(string query, object[] parameter = null)
        {
            object data = 0;

            using (SqlConnection connection = new SqlConnection(connectionSTR))
            {
                connection.Open();

                SqlCommand command = new SqlCommand(query, connection);

                if (parameter != null)
                {
                    string[] listPara = query.Split(' ');
                    int i = 0;
                    foreach (string item in listPara)
                    {
                        if (item.Contains('@'))
                        {
                            command.Parameters.AddWithValue(item, parameter[i]);
                            i++;
                        }
                    }
                }

                data = command.ExecuteScalar();

                connection.Close();
            }

            return data;
        }
    }
}

Bài sau chúng ta sẽ cùng nhau tạo chức năng đăng nhập cho ứng dụng nhé.

Đừng quên: “Luyện tập – Thử thách – Không ngại khó

Chia sẻ:
Thảo luận Hỏi và đáp Báo lỗi bài viết
Hủy bỏ   hoặc  
Giới thiệu design patern Singleton phần mềm Quản lý quán cafe với C# Winform
nekokuro245 2017-03-19 22:39:09
singleton nhanh that a ơi :))
0 bình chọn
Reply
Giới thiệu design patern Singleton phần mềm Quản lý quán cafe với C# Winform
tuấn anh 2016-12-03 22:04:02
singleton có khác với khởi tạo thể hiện static hk a Long
0 bình chọn
Reply
View all 1 comments
Kteam - Howkteam Free Education
K9 2016-12-04 06:21:12
bản chất nó khởi tạo static mà :v
0 bình chọn
Reply
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  

Chiến dịch

Kteam - Howkteam Free Education