LINQ to SQL

本文详细介绍如何在Windows窗体应用程序中使用LINQ查询SQLServer数据库。从创建LinqToSql类文件开始,通过拖拽数据表到DataClasses1.dbml进行映射,到在窗体中展示查询结果,包括获取所有员工信息及按编号、姓名、年龄搜索的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用linq查询sql server
1.查询数据库首要添加Linq to sql类文件其步骤为
a.创建windows窗体应用程序
b.添加新项 linq to sql 类
在这里插入图片描述

c.将数据表映射到DataClasses1.dbml中
直接将数据表拖到DataClasses1.dbml中
在这里插入图片描述

d.在窗体内添加 一个dgv,textbox,button,lable
在这里插入图片描述

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;
using System.Data.SqlClient;

namespace LINQ_to_SQL
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        string str = @"server=.\SQLEXPRESS;database=LINQ;uid=;pwd=";
        linqtosqlDataContext linq;//声明linq连接对象
        public SqlConnection connection()
        {
          
            SqlConnection conn = new SqlConnection(str);
            
            return conn;

        }//数据库连接方法
        private void dgv()
        {
            SqlConnection con = connection();
            con.Open();
            SqlDataAdapter sda = new SqlDataAdapter("select * from information",con);
            DataSet ds = new DataSet();
            sda.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];

            con.Close();  
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: 这行代码将数据加载到表“lINQDataSet.information”中。您可以根据需要移动或删除它。
            this.informationTableAdapter.Fill(this.lINQDataSet.information);
            dgv();

        }

        private void button1_Click(object sender, EventArgs e)
        { 
            linq = new linqtosqlDataContext(str);
            if (textBox1.Text == "")
            {//获取所有员工的信息
                
                var result = from info in linq.information
                             select new
                             {
                               
                               编号 = info.ID,
                                 姓名 = info.NAME,

                                 性别 = info.SEX,
                                 年龄 = info.AGE,
                                 电话 = info.TEL
                             };
                dataGridView1.DataSource = result;
            }
            else
            {
                
                switch(comboBox1.Text)
                    {

                    case "编号":
                        var resultid = from info in linq.information
                                       where info.ID.equals(textBox1.text)
                                       select new
                                       {
                                           编号 = info.ID,
                                           姓名 = info.NAME,

                                           性别 = info.SEX,
                                           年龄 = info.AGE,
                                           电话 = info.TEL
                                       };
                        dataGridView1.DataSource = resultid;
                        break;
                    case "姓名":
                        var resultname = from info in linq.information
                                         where info.NAME.Contains(textBox1.Text)
                                       select new
                                       {
                                           编号 = info.ID,
                                           姓名 = info.NAME,

                                           性别 = info.SEX,
                                           年龄 = info.AGE,
                                           电话 = info.TEL
                                       };
                        dataGridView1.DataSource = resultname;
                        break;
                    case "年龄":
                        var resultage = from info in linq.information
                                       select new
                                       {
                                           编号 = info.ID,
                                           姓名 = info.NAME,

                                           性别 = info.SEX,
                                           年龄 = info.AGE,
                                           电话 = info.TEL
                                       };
                        dataGridView1.DataSource = resultage;
                        break;
                }
            }
           
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值