• 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();
            }
  • 相关阅读:
    【Oracle】IF语句
    【Oracle】PL/SQL中对空字符串的判断
    【读书笔记】沉默的大多数
    【Oracle】包及包的调用
    Android (争取做到)最全的底部导航栏实现方法 ZZ
    一个屌丝程序猿的人生(一百一十七)
    一个屌丝程序猿的人生(一百一十六)
    一个屌丝程序猿的人生(一百一十五)
    DIV_ROUND_UP(x,y)实现x/y向上取整
    SMI(MDC/MDIO)总线接口介绍
  • 原文地址:https://www.cnblogs.com/dawasai/p/4443907.html
Copyright © 2020-2023  润新知