zoukankan      html  css  js  c++  java
  • C#LINQ

    LINQ:语言集成查询

    帮我们干了两件事:1.帮我们造了实体对象出来;

    2.提供了很多便捷的增删改查询方法,将数据库的T-sql挪了过来。

    右键添加LINQ类之后,右击服务器资源管理器中的数据连接,添加链接,选择数据库,完成连接。

    image

    将资源管理器中的表格拖进类文件里就可以创建表格的实体对象,以后可以直接使用

    image

    复制代码
    private void Form1_Load(object sender, EventArgs e)
            {
                DataClasses1DataContext context = new DataClasses1DataContext();
    
              List<Car >list=context.Car.ToList();
              dataGridView1.DataSource = list;
            }
    复制代码

    运行结果

    image

    //Func<string, string> fc = delegate(string a)
                //{
                //    a += "你好";
                //    return a;
                //};
                //MessageBox.Show(fc("5").ToString());
                DataClasses1DataContext context = new DataClasses1DataContext();
                //List<bread> list = context.bread.Where(r => Convert.ToDecimal(r.breadprice.ToString()) < 15).ToList();
                var list2 = from quary in context.bread where Convert.ToDecimal(quary.breadprice.ToString()) < 15 select quary;
                dataGridView1.AutoGenerateColumns = true;
                dataGridView1.DataSource = list2;
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     
    public class studentDA
     
        {
            private DataClasses1DataContext _context;
            public studentDA()
            {
                _context = new DataClasses1DataContext();
            }
            //添加数据
            public void insert(Student data)
            {
                _context.Student.InsertOnSubmit(data);
                _context.SubmitChanges();
            }
            //修改数据
            public void update(Student  data)
            {
                Student sdata =_context.Student.Single(r => r.Sno == data.Sno);
                if (sdata != null)
                {
                    sdata.Sno = data.Sno;
                    sdata.Sname = data.Sname;
                    sdata.Ssex = data.Ssex;
                    sdata.Sbirthday = data.Sbirthday;
                    _context.SubmitChanges();
                }
     
            }
            //删除数据
            public void delete(Student data)
            {
                Student sdata = _context.Student.Single(r=>r.Sno==data.Sno);
                _context.Student.DeleteOnSubmit(sdata);
                _context.SubmitChanges();
            }
             ////////根据学生编号删除
            public void delete(string sno)
            {
                Student data = _context.Student.Single(r => r.Sno == sno);
                if (data != null)
                {
                    _context.Student.DeleteOnSubmit(data);
                    _context.SubmitChanges();
                }
            }
           ///////////查询所有学生数据
            public List<Student> select()
            {
                return _context.Student.ToList().Count>0? _context.Student.ToList():null;
            }
    ///////////////根据学生编号查询
            public Student select(string sno)
            {
                return _context.Student.Where(r => r.Sno == sno).First();
            }
    /////////////根据学生姓名查询
            public List<Student> selectbyname(string sname)
            {
               List <Student> list=   _context.Student.Where(r => r.Sname.Contains(sname)).ToList();
               return list.Count>0? list:null;
            }
        }
    }
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////
    往数据库中添加数据
     Student data = new Student
                {
                   Sno=textBox1.Text,
                   Sname=textBox2.Text,
                   Ssex=radioButton1.Checked?"":"",
                   Sbirthday=dateTimePicker1.Value,
                   Class=textBox3.Text,
                                  
                };
                new studentDA().insert(data);
     
     
    /////////////用linq的方法从数据库中查询数据
     private void Form3_Load(object sender, EventArgs e)
            {
                List<Student> list = new studentDA().select();
                if (list != null)
                {
                    dataGridView1.AutoGenerateColumns = true;
                    dataGridView1.DataSource = list;
                }
            }
     
    //////////用linq的方法从数据库中根据姓名查询
            private void button1_Click(object sender, EventArgs e)
            {
                List<Student> list = new studentDA().selectbyname(textBox1.Text);
                if (list != null)
                {
                    dataGridView1.AutoGenerateColumns = true;
                    dataGridView1.DataSource = list;
                }
            }
     
    /////////用linq的方法从数据库中删除数据
            private void button2_Click(object sender, EventArgs e)
            {
                if (dataGridView1.SelectedRows.Count > 0)
                {
                    Student data = (Student)dataGridView1.SelectedRows[0].DataBoundItem;
                    new studentDA().delete(data);
                }
                dataGridView1.AutoGenerateColumns = true;
                dataGridView1.DataSource = new studentDA().select();
            }
     
            private void button3_Click(object sender, EventArgs e)
            {
                if (dataGridView1.SelectedRows.Count > 0)
                {
                    Form4 f = new Form4((Student)dataGridView1.SelectedRows[0].DataBoundItem);
                    f.Show();
                }
            }
     
     
     
     
     
     
     
     
     private Student sdata;////将选择的信息传到相应的地方构造函数
            public Form4(Student data)
            {
                InitializeComponent();
                sdata = data;
     
            }
     
            private void Form4_Load(object sender, EventArgs e)
            {
                textBox1.Text = sdata.Sno;
                textBox2.Text = sdata.Sname;
                textBox3.Text = sdata.Class;
                if (sdata.Ssex == "")
                {
                    radioButton1.Checked = true;
                }
                else
                {
                    radioButton2.Checked = true;
                }
                dateTimePicker1.Value = DateTime.Parse(sdata.Sbirthday.ToString());
            }
    /////////////////////////////////////////////////////////////////
     
     
     
    ///////将传回的信息修改后传回数据库
            private void button1_Click(object sender, EventArgs e)
            {
                Student sdata = new Student();
                sdata.Sno = textBox1.Text;
                sdata.Sname = textBox2.Text;
                sdata.Class = textBox3.Text;
                sdata.Ssex = radioButton1.Checked ? "" : "";
                sdata.Sbirthday = dateTimePicker1.Value;
                new studentDA().update(sdata);
                this.Close();
            }
  • 相关阅读:
    Candy leetcode java
    Trapping Rain Water leetcode java
    Best Time to Buy and Sell Stock III leetcode java
    Best Time to Buy and Sell Stock II leetcode java
    Best Time to Buy and Sell Stock leetcode java
    Maximum Subarray leetcode java
    Word Break II leetcode java
    Word Break leetcode java
    Anagrams leetcode java
    Clone Graph leetcode java(DFS and BFS 基础)
  • 原文地址:https://www.cnblogs.com/dawasai/p/4443907.html
Copyright © 2011-2022 走看看