C# 中LINQ的基本用法(1)--sql server

来源:互联网 发布:手机淘宝怎么付款 编辑:程序博客网 时间:2024/05/18 02:34

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
/*---------------------------------------------
 * 标题:LINQ to SQL 基本用法;
 * 作者:靳志远(jack15850798154)
 * 时间:2010-03-18
 * 地点:江苏南京
 * 说明 :通过 LINQ来实现对数据库的基本操作(增加、删除、修改)。
 *----------------------------------------------
 */
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //数据库连接字符串
         string strCon = "Data Source=.;DataBase=master;uid=sa;pwd=sql;";
         
         DataClasses1DataContext linq;
        /// <summary>
        /// 单表查询功能。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            BindInfo();
        }
        /// <summary>
        /// 实现LINQ SQL查询功能
        /// </summary>
        public void BindInfo()
        {
            linq = new DataClasses1DataContext(strCon);
            var result = from info in linq.sss
                         select new
                         {
                             id = info.id,
                             name = info.name,
                           
                         };
            dataGridView1.DataSource = result;
        }


        /// <summary>
        /// 实现LINQ SQL 添加功能;
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            linq = new DataClasses1DataContext(strCon);
            sss s = new sss();
          
            s.id = Convert.ToInt32(this.textBox1.Text.Trim());
          
            s.name = this.textBox3.Text.Trim();
            linq.sss.InsertOnSubmit(s);
            linq.SubmitChanges();
            MessageBox.Show("员工信息添加成功");
            BindInfo();
        }
        /// <summary>
        /// 实现LINQ SQL 修改功能;
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            linq = new DataClasses1DataContext(strCon);
            var result = from info  in linq.sss
                         where info.id == Convert.ToInt32(this.textBox1.Text.Trim())
                         select info;
            foreach (sss s in result)
            {
                s.name = this.textBox3.Text.Trim();
                linq.SubmitChanges();
            }
            MessageBox.Show("员工信息修改成功");
            BindInfo();
        }

        /// <summary>
        /// 实现LINQ SQL 删除功能;
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button4_Click(object sender, EventArgs e)
        {
            linq = new DataClasses1DataContext(strCon);
            var result = from info in linq.sss
                         where info.id == Convert.ToInt32(this.textBox1.Text.Trim())
                         select info;
            linq.sss.DeleteAllOnSubmit(result);
            linq.SubmitChanges();
            MessageBox.Show("删除成功");
            BindInfo();
        }
        /// <summary>
        /// LINQ实现多表联合查询
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button5_Click(object sender, EventArgs e)
        {
            linq = new DataClasses1DataContext(strCon);    //实例化Linq连接。
            var result = from info in linq.sss join        //多表连接用join....on  判断两个数据是否相等用equals来进行判断。
                        info1 in linq.sssage
                     
                         on info.id equals info1.uid  where info.id==1    //这句需要注意的。
                         select new                                       //需要显示的是那些数据。
                         {
                             id = info.id,                                  //id,name,age为列名。
                             name = info.name,
                             age=info1.age
                         };
            dataGridView1.DataSource = result;                              //绑定到数据库中。
        }
    }
}

原创粉丝点击