Tổng hợp hàm thêm, xóa, sửa trong lập trình c# theo mô hình 3 lớp

Friday, May 22, 2015
Các bạn đã đọc bài viết Một số hàm thương dùng trong lập trình 3 lớp C# thì hôm nay các bạn sẽ cùng thực hiện , cùng ứng dụng các hàm này bên trong chương trình của mình nhé
Lưu ý đây là các hàm Select cũng như thêm xóa sửa được viết phục vụ cho việc sử dụng Procdure của Sqlsever nhé.

ĐẦU TIÊN LÀ CÁC HÀM BÊN TRONG LỚP DATA

HÀM INSERT

public bool executeInsertQuery(String _query, SqlParameter[] sqlParameter)
        {
            SqlCommand myCommand = new SqlCommand();
            SqlConnection conn = getconnect();
            myCommand.Connection = conn;
            myCommand.CommandText = _query;
            myCommand.Parameters.AddRange(sqlParameter);
            myAdapter.InsertCommand = myCommand;
            conn.Open();
            int kq=myCommand.ExecuteNonQuery();
            if (kq > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

HÀM UPDATE

public bool executeUpdateQuery(String _query, SqlParameter[] sqlParameter)
        {
            SqlCommand myCommand = new SqlCommand();
            SqlConnection conn = getconnect();
            myCommand.Connection = conn;
            myCommand.CommandText = _query;
            myCommand.Parameters.AddRange(sqlParameter);
            myAdapter.UpdateCommand = myCommand;
            conn.Open();
            int kq=myCommand.ExecuteNonQuery();
            if (kq > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

HÀM DELETE

public bool executeDeleteQuery(String _query, SqlParameter[] sqlParameter)
        {
                SqlCommand myCommand = new SqlCommand();
                SqlConnection conn = getconnect();
                myCommand.Connection = conn;
                myCommand.CommandText = _query;
                myCommand.Parameters.AddRange(sqlParameter);
                myAdapter.DeleteCommand = myCommand;
                conn.Open();
                int kq= myCommand.ExecuteNonQuery();
                if(kq>0)
                {
                    return true;
                }
                else
                {
                    return false;
                }

        }
BÂY GIỜ QUA TỚI LỚP BUSINESS

HÀM THÊM

public bool them(string ten) 
        {                  
                SqlParameter[] sqlpara = new SqlParameter[1]; // khai báo 1 mảng bao gồm các giá trị bên trong proc
                sqlpara[0] = new SqlParameter("@tenban", SqlDbType.NVarChar, 50); // kiêu dữ liệu proc
                sqlpara[0].Value = ten; // tham số truyền vào
                return da.executeInsertQuery("them @ten", sqlpara);  //thực hiện, lưu ý “themban” là tên proc, “@tenban” là giá trị của proc       
        }
Nói thêm : cái biến Sqlparameter được khai báo dạng mảng cho nên giá trị tham số truyền vào là bai nhiêu thì khai báo ở new Sqlparameter[giá trị] ví dụ như procdure @tenban của mình có 1 tham số truyền vào thì mình để là 1 , còn nếu 2 , 3 thì thêm 2 , 3 vào .
Sqlpara[0]= new sqlparameter("@tenban",Sqldbtype.navarchar,50) là kiểu dữ liệu của tham số thứ 1 và .Value cũng vậy

HÀM SỬA

 public bool sua(string ten,string id)
        {
            SqlParameter[] sqlpara = new SqlParameter[2];
            sqlpara[0] = new SqlParameter("@ID", SqlDbType.Int);
            sqlpara[0].Value = id;
            sqlpara[1] = new SqlParameter("@ten", SqlDbType.NVarChar, 50);
            sqlpara[1].Value = ten;
            return da.executeUpdateQuery("sua @ID,@ten", sqlpara);
        }

HÀM XÓA

public bool xoa(string id)
        {
            SqlParameter[] sqlpara = new SqlParameter[1];
            sqlpara[0] = new SqlParameter("@id", SqlDbType.Int);
            sqlpara[0].Value = id;
            return da.executeDeleteQuery("xoa @id", sqlpara);
        }  

TIẾP THEO LÀ BÊN FORM

public void them()
        {
            try
            {
                bs.themban(this.textBox1.Text); // tham số truyền vào
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message,"Thông báo");
            }
        }
Còn các hàm xóa và sửa bên form cũng tương tự như thêm.