Breaking News

Thêm, xóa nhiều dòng dữ liệu trong Linq to sql

Hướng dẫn các thêm nhiều dòng dữ liệu và xóa nhiều dòng dữ liệu trong linq và sửa dữ liệu trong linq

Code hướng dẫn thực hành.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace LinqToSQL

{

    public partial class frmthem_nhieusanpham : Form

    {

        public frmthem_nhieusanpham()

        {

            InitializeComponent();

        }

 

        private void frmthem_nhieusanpham_Load(object sender, EventArgs e)

        {

            Hienthisanphamlenlist();

            Hiencombobox();

        }

 

        private void Hiencombobox()

        {

            CSDLLINQDATADataContext contex = new CSDLLINQDATADataContext();

            List<DanhMuc> dsdm = contex.DanhMucs.ToList();

            cboDM.Items.Clear();

            cboDM.DataSource = dsdm;

            cboDM.ValueMember = "MaDM";

            cboDM.DisplayMember = "TenDm";

        }

 

        private void Hienthisanphamlenlist()

        {

            CSDLLINQDATADataContext contex = new CSDLLINQDATADataContext();

            List<SanPham> dssp = contex.SanPhams.ToList();

            lvSanPham.Items.Clear();

            dssp.ForEach(x =>

            {

                ListViewItem lvi = new ListViewItem(x.Ma+"");

                lvi.SubItems.Add(x.Ten);

                lvi.SubItems.Add(x.DonGia + "");

                lvSanPham.Items.Add(lvi);

            }

 

            );

        }

 

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

        {

 

        }

 

        private void lvSanPham_SelectedIndexChanged(object sender, EventArgs e)

        {

            if (lvSanPham.SelectedItems.Count==0)

            {

                return;

            }

            ListViewItem lvi = lvSanPham.SelectedItems[0];// chọn dòng sản phẩm đầu tiên

            int msp = int.Parse(lvi.SubItems[0].Text);// lấy mã sản phẩm ra và kiểu chuỗi  nên phải ép kiểu

            CSDLLINQDATADataContext contex = new CSDLLINQDATADataContext();

            SanPham sp = contex.SanPhams.FirstOrDefault(x => x.Ma == msp);

            if (sp!=null)

            {

                txtMa.Text = sp.Ma + "";

                txtTen.Text = sp.Ten;

                txtGia.Text = sp.DonGia + "";

                cboDM.Text = sp.MaDM + "";

 

            }

        }

        List<SanPham> dsspmoi = new List<SanPham>();// tao bộ nhớ ảo để lưu tạm

        private void btnThem_Click(object sender, EventArgs e)

        {

            if (cboDM.SelectedValue==null)

            {

                return;

            }

            int madm = (int)cboDM.SelectedValue;

            SanPham sp = new SanPham();

            sp.Ma = int.Parse(txtMa.Text);

            sp.Ten = txtTen.Text;

            sp.DonGia = int.Parse(txtGia.Text);

            sp.MaDM = madm;

            dsspmoi.Add(sp);

            txtMa.Clear();

            txtTen.Clear();

            txtGia.Clear();

            txtMa.Focus();

 

        }

 

        private void btnLuu_Click(object sender, EventArgs e)

        {

            DialogResult ret = MessageBox.Show("Ban muốn lưu" + dsspmoi.Count + "hay không","Hỏi trước khi lưu",MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (ret == DialogResult.Yes)// hỏi người dùng đồng ý mới lưu

            {

                try

                {

 CSDLLINQDATADataContext contex = new CSDLLINQDATADataContext();

                    contex.SanPhams.InsertAllOnSubmit(dsspmoi);

                    contex.SubmitChanges();

                    MessageBox.Show(" đã lưu thành công");

                    Hienthisanphamlenlist();

                }

                catch (Exception ex)

                {

 

                    MessageBox.Show(ex.Message);

                }

 

            }

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

CSDLLINQDATADataContext contex = new CSDLLINQDATADataContext();

            int masp = int.Parse(txtMa.Text);

            SanPham sp = contex.SanPhams.FirstOrDefault(x => x.Ma == masp);

            if (sp != null)

            {

                try

                {

                    sp.Ten = txtTen.Text;

                    sp.DonGia = int.Parse(txtGia.Text);

                    contex.SubmitChanges();

                    MessageBox.Show(" sửa thành công");

                    Hienthisanphamlenlist();

                }

                catch (Exception ex)

                {

 

                    MessageBox.Show(ex.Message);

                }

 

            }

        }

 

        private void btnXoaSP_Click(object sender, EventArgs e)

        {

            if (lvSanPham.CheckedItems.Count==0)// trả về một tập dòng dữ liệu người check vào nếu count=0 là không có người click

            {

                return;

            }

            ListView.CheckedListViewItemCollection dschecked

                = lvSanPham.CheckedItems;// tạo danh sách check mag người dùng check vào

CSDLLINQDATADataContext contex = new CSDLLINQDATADataContext();

            List<SanPham> dsxoa = new List<SanPham>();// tạo bộ nhớ đưa danh sách checked vào để xóa

            foreach (ListViewItem lvi in dschecked) // tim dòng sản phẩm được chọn trong dschecked

            {

                int masp = int.Parse(lvi.SubItems[0].Text);// lấy ra mã được check

                SanPham sp = contex.SanPhams.FirstOrDefault(x => x.Ma == masp);

                dsxoa.Add(sp);

            }

            DialogResult ret = MessageBox.Show("Ban muốn xóa  [" + dsxoa.Count

                + "]  Sản Phẩm hay không", "Hỏi trước khi xóa", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (ret==DialogResult.Yes)

            {

                contex.SanPhams.DeleteAllOnSubmit(dsxoa);

                contex.SubmitChanges();

                Hienthisanphamlenlist();

            }

        }

    }

}



Không có nhận xét nào