国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C#中使用LINQtoSQL管理SQL數(shù)據(jù)庫之添加、修改和刪除

這篇具有很好參考價值的文章主要介紹了C#中使用LINQtoSQL管理SQL數(shù)據(jù)庫之添加、修改和刪除。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、添加數(shù)據(jù)

二、修改數(shù)據(jù)

三、刪除數(shù)據(jù)?

四、添加、修改和刪除的源碼

五、生成效果

1.VS和SSMS原始記錄

2.刪除ID=2和5的記錄

3.添加記錄ID=2、5和8

?4.修改ID=3和ID=4的記錄?


????????用LINQtoSQL管理SQL Server數(shù)據(jù)庫時,主要有添加、修改和刪除3種操作。

????????項目中創(chuàng)建LINQtoSQL類的方法已經(jīng)在本文作者的其他文章中有過敘述,此處不再贅述。

一、添加數(shù)據(jù)

????????使用LINQ向SQL Server數(shù)據(jù)庫中添加數(shù)據(jù)時,需要使用InsertOnSubmit()方法和SubmitChanges()方法。其中,InsertOnSubmit()方法用來將處于pending insert狀態(tài)的實體添加到SQL數(shù)據(jù)表中,其語法格式如下:

void InsertOnSubmit(Object entity)?
其中,entity表示要添加的實體。

????????SubmitChanges()方法用來記錄要插入、更新或刪除的對象,并執(zhí)行相應命令以實現(xiàn)對數(shù)據(jù)庫的更改,其語法格式如下:

public void SubmitChanges()

二、修改數(shù)據(jù)

?????????使用LINQ修改SQL Server數(shù)據(jù)庫中的數(shù)據(jù)時,需要用SubmitChanges()方法。

三、刪除數(shù)據(jù)?

????????使用LINQ刪除SQL Server數(shù)據(jù)庫中的數(shù)據(jù)時,需要使用DeleteAllOnSubmit()方法和SubmitChanges()方法。

????????DeleteAllOnSubmit()方法用來將集合中的所有實體置于pending delete狀態(tài)

void DeleteAllOnSubmit(IEnumerable entities)
其中,entities表示要移除所有項的集合。

四、添加、修改和刪除的源碼

//Form1.cs
//使用LINQ管理SQL Server數(shù)據(jù)庫
//對數(shù)據(jù)庫添加、刪除、修改
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Linq;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;

namespace _07
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //定義數(shù)據(jù)庫連接字符串
        public string strCon = "Data Source=DESKTOP-S11C97H\\SQLEXPRESS;Initial Catalog=db_CSharp;Integrated Security=True;";
        DataClasses1DataContext _Linq;          //聲明Linq連接對象
        public string _strID = "";                      //記錄選中的員工編號

        /// <summary>
        /// 初始化Form1
        /// 調(diào)用方法,在datagridview1中顯示數(shù)據(jù)庫
        /// </summary>
        private void Form1_Load(object sender, EventArgs e)
        {
            label1.Text = "編碼:";
            label2.Text = "姓名:";
            label3.Text = "年齡:";
            label4.Text = "電話:";
            label5.Text = "地址:";
            label6.Text = "QQ:";
            label7.Text = "EMAIL:";
            label8.Text = "性別:";
            button1.Text = "添加";
            button2.Text = "刪除";
            button3.Text = "修改";
            groupBox1.Text = "員工信息";

            comboBox1.Items.AddRange(new object[] {
            "男",
            "女"});

            textBox1.Size = new System.Drawing.Size(100,21);
            textBox2.Size = new System.Drawing.Size(100, 21);
            textBox3.Size = new System.Drawing.Size(40, 21);
            textBox4.Size = new System.Drawing.Size(100, 21);
            textBox5.Size = new System.Drawing.Size(100, 21);
            textBox6.Size = new System.Drawing.Size(100, 21);
            textBox7.Size = new System.Drawing.Size(100, 21);
            comboBox1.Size = new System.Drawing.Size(40, 21);
            button1 .Size = new Size(50, 21);
            button2.Size = new Size(50, 21);
            button3.Size = new Size(50, 21);

            dataGridView1.AllowUserToAddRows = true;
            dataGridView1.AllowUserToDeleteRows = true;
            dataGridView1.AllowUserToResizeColumns = true ;
            dataGridView1.AllowUserToResizeRows = false;
            dataGridView1.RowHeadersVisible = false;            
            dataGridView1.SelectionMode=DataGridViewSelectionMode.FullRowSelect;
            dataGridView1.ReadOnly = false;
            dataGridView1.ContextMenuStrip = contextMenuStrip1;     //綁定contextMenuStrip1
            button2.ContextMenuStrip = contextMenuStrip1;               //綁定contextMenuStrip1

            contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
            toolStripMenuItem1});
            toolStripMenuItem1.Text = "刪除";
            toolStripMenuItem1.Size = new Size(40,21);

            BindInfo();           
        }

        #region 顯示所有員工信息
        /// <summary>
        /// 顯示所有員工信息
        /// </summary>
        private void BindInfo()
        {
            _Linq = new DataClasses1DataContext(strCon);    //實例化Linq連接對象
            //獲取所有員工信息
            var result = from info in _Linq.tb_Employee
                         select new
                         {
                             info.ID,
                             info.Name,
                             info.Sex,
                             info.Age,
                             info.Tel,
                             info.Address,
                             info.QQ,
                             info.Email
                         };
            dataGridView1.DataSource = result;            //對DataGridView控件進行數(shù)據(jù)綁定

            dataGridView1.Columns[0].Width = 60;
            dataGridView1.Columns[1].Width = 60;
            dataGridView1.Columns[2].Width = 30;
            dataGridView1.Columns[3].Width = 30;
            dataGridView1.Columns[4].Width = 80;
            dataGridView1.Columns[5].Width = 150;
            dataGridView1.Columns[6].Width = 80;
            dataGridView1.Columns[7].Width = 150;
        }

        #endregion

        /// <summary>
        /// 鼠標點擊cell,獲得選中行的編號
        /// </summary>
        private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            //獲取選中的員工編號,給刪除事件使用
            _strID = Convert.ToString(dataGridView1[0, e.RowIndex].Value).Trim();
            
            //以下,給修改事件使用
            _Linq = new DataClasses1DataContext(strCon);    //實例化Linq連接對象
            //獲取選中的員工編號
            textBox1.Text = Convert.ToString(dataGridView1[0, e.RowIndex].Value).Trim();
            //根據(jù)選中的員工編號獲取其詳細信息,并重新成成一個表
            var result = from info in _Linq.tb_Employee
                         where info.ID == textBox1.Text
                         select new
                         {
                             info.ID,
                             info.Name,
                             info.Sex,
                             info.Age,
                             info.Tel,
                             info.Address,
                             info.QQ,
                             info.Email
                         };
            //相應的文本框及下拉列表中顯示選中員工的詳細信息
            foreach (var item in result)
            {
                textBox2.Text = item.Name;
                comboBox1.Text = item.Sex;
                textBox3.Text = item.Age.ToString();
                textBox4.Text = item.Tel;
                textBox5.Text = item.Address;
                textBox6.Text = item.QQ.ToString();
                textBox7.Text = item.Email;
            }
        }

        /// <summary>
        /// ToolStripMenuItem1控件的刪除事件
        /// </summary>
        private void ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (_strID == "")
            {
                MessageBox.Show("請選擇要刪除的記錄");
                return;
            }

            _Linq = new DataClasses1DataContext(strCon);//實例化Linq連接對象
            //查找要刪除的員工信息
            var result = from employee in _Linq.tb_Employee
                         where employee.ID == _strID
                         select employee;
            _Linq.tb_Employee.DeleteAllOnSubmit(result); //刪除員工信息
            _Linq.SubmitChanges();                                  //實例化Linq連接對象提交操作
            MessageBox.Show("員工信息刪除成功");
            BindInfo();
        }

        /// <summary>
        /// 按鈕事件:向數(shù)據(jù)庫追加新記錄
        /// </summary>
        private void Button1_Click(object sender, EventArgs e)
        {
            _Linq = new DataClasses1DataContext(strCon);    //實例化Linq連接對象
            tb_Employee _employee = new tb_Employee
            {
                //為tb_Employee類中的員工實體賦值
                ID = textBox1.Text,
                Name = textBox2.Text,
                Sex = comboBox1.Text,
                Age = Convert.ToInt32(textBox3.Text),
                Tel = textBox4.Text,
                Address = textBox5.Text,
                QQ = Convert.ToInt32(textBox6.Text),
                Email = textBox7.Text
            };   //實例化tb_Employee類對象

            _Linq.tb_Employee.InsertOnSubmit(_employee);    //刪除員工信息
            _Linq.SubmitChanges();                                        //實例化Linq連接對象提交操作
            MessageBox.Show("員工信息添加成功");
            BindInfo();
        }

        /// <summary>
        /// 按鈕事件:刪除選中的記錄
        /// new方法新定義的實例不能用于修改,因為new后的實例用的是新的主鍵值
        /// 只可以追加記錄,不可以修改記錄,對已有記錄進行修改應用foreach方法
        /// </summary>
        private void Button2_Click(object sender, EventArgs e)
        {
            _Linq = new DataClasses1DataContext(strCon);    //實例化Linq連接對象
            //tb_Employee _employee = new tb_Employee
            //{
            //    //為tb_Employee類中的員工實體賦值
            //    ID = textBox1.Text,                
            //    Name = textBox2.Text,
            //    Sex = comboBox1.Text,
            //    Age = Convert.ToInt32(textBox3.Text),
            //    Tel = textBox4.Text,
            //    Address = textBox5.Text,
            //    QQ = Convert.ToInt32(textBox6.Text),
            //    Email = textBox7.Text
            //};   //實例化tb_Employee類對象

            if (_strID == "")
            {
                MessageBox.Show("請選擇要刪除的記錄");
                return;
            }
            _Linq = new DataClasses1DataContext(strCon);//實例化Linq連接對象
            //查找要刪除的員工信息
            var result = from employee in _Linq.tb_Employee
                         where employee.ID == _strID
                         select employee;
            _Linq.tb_Employee.DeleteAllOnSubmit(result); //刪除員工信息
            _Linq.SubmitChanges();                                  //實例化Linq連接對象提交操作
            MessageBox.Show("員工信息刪除成功");
            BindInfo();
        }

        /// <summary>
        /// 按鈕事件:修改選中的記錄
        /// </summary>
        private void Button3_Click(object sender, EventArgs e)
        {
            _Linq = new DataClasses1DataContext(strCon);    //實例化Linq連接對象

            if (textBox1.Text == "")
            {
                MessageBox.Show("請選擇要修改的記錄");
                return;
            }

            //查找要修改的員工信息
            var result = from _employee in _Linq.tb_Employee
                         where _employee.ID == textBox1.Text
                         select _employee;

            //對指定的員工信息進行修改
            foreach (tb_Employee _employee in result)
            {
                _employee.Name = textBox2.Text;
                _employee.Sex = comboBox1.Text;
                _employee.Age = Convert.ToInt32(textBox3.Text);
                _employee.Tel = textBox4.Text;
                _employee.Address = textBox5.Text;
                _employee.QQ = Convert.ToInt32(textBox6.Text);
                _employee.Email = textBox7.Text;
            }

            _Linq.SubmitChanges();  //更新數(shù)據(jù)庫
            MessageBox.Show("員工信息修改成功");
            BindInfo();                     //把修改后的數(shù)據(jù)庫更新到datagridview1中顯示
        }
    }
}

五、生成效果

1.VS和SSMS原始記錄

C#中使用LINQtoSQL管理SQL數(shù)據(jù)庫之添加、修改和刪除,數(shù)據(jù)庫,sql??C#中使用LINQtoSQL管理SQL數(shù)據(jù)庫之添加、修改和刪除,數(shù)據(jù)庫,sql

2.刪除ID=2和5的記錄

?C#中使用LINQtoSQL管理SQL數(shù)據(jù)庫之添加、修改和刪除,數(shù)據(jù)庫,sql

C#中使用LINQtoSQL管理SQL數(shù)據(jù)庫之添加、修改和刪除,數(shù)據(jù)庫,sql

3.添加記錄ID=2、5和8

?C#中使用LINQtoSQL管理SQL數(shù)據(jù)庫之添加、修改和刪除,數(shù)據(jù)庫,sql

C#中使用LINQtoSQL管理SQL數(shù)據(jù)庫之添加、修改和刪除,數(shù)據(jù)庫,sql

?4.修改ID=3和ID=4的記錄?

C#中使用LINQtoSQL管理SQL數(shù)據(jù)庫之添加、修改和刪除,數(shù)據(jù)庫,sql

C#中使用LINQtoSQL管理SQL數(shù)據(jù)庫之添加、修改和刪除,數(shù)據(jù)庫,sql文章來源地址http://www.zghlxwxcb.cn/news/detail-745006.html

到了這里,關(guān)于C#中使用LINQtoSQL管理SQL數(shù)據(jù)庫之添加、修改和刪除的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • 【Microsoft Azure 的1024種玩法】三十. 使用Azure Data Studio之快速上手連接管理Azure SQL 數(shù)據(jù)庫(一)

    【Microsoft Azure 的1024種玩法】三十. 使用Azure Data Studio之快速上手連接管理Azure SQL 數(shù)據(jù)庫(一)

    Azure Data Studio 是一種跨平臺的數(shù)據(jù)庫工具,適合在 Windows、macOS 和 Linux 上使用本地和云數(shù)據(jù)平臺的數(shù)據(jù)專業(yè)人員,Azure Data Studio 利用 IntelliSense、代碼片段、源代碼管理集成和集成終端提供新式編輯器體驗,在本文中將會介紹到如何通過Azure Data Studio 隨時隨地的來在本地計算機

    2024年02月04日
    瀏覽(24)
  • SQL Server數(shù)據(jù)庫管理

    SQL Server數(shù)據(jù)庫管理

    數(shù)據(jù)庫登錄——使用兩種方式均可登錄數(shù)據(jù)庫:windows和sqlserver身份驗證方式兩種。 ?數(shù)據(jù)庫的使用和管理 步驟一:創(chuàng)建數(shù)據(jù)庫 1)新建數(shù)據(jù)庫,數(shù)據(jù)庫名為book,初始大小都配置為3,自動增長與路徑都為默認,點擊確定 ? 步驟二:查看主數(shù)據(jù)與日志文件(查看C:Program Files

    2024年02月13日
    瀏覽(33)
  • 【數(shù)據(jù)類型】C#和Sql Server、Mysql、Oracle等常見數(shù)據(jù)庫的數(shù)據(jù)類型對應關(guān)系

    【數(shù)據(jù)類型】C#和Sql Server、Mysql、Oracle等常見數(shù)據(jù)庫的數(shù)據(jù)類型對應關(guān)系

    ????這是小5寫的第二篇城市領跑者文章,一起為所在城市領跑助力吧! ????在實際項目中,不管是用C#后端編程語言也好,還是Java后端編程語言,都可能會用到不同端的數(shù)據(jù)類型轉(zhuǎn)換和對應關(guān)系 在 C# 和 SQL Server 之間,以下是一些最常用的數(shù)據(jù)類型對應關(guān)系: 編號 C#數(shù)據(jù)

    2024年02月11日
    瀏覽(25)
  • 數(shù)據(jù)庫課設---酒店管理系統(tǒng)(C# + Winform)

    數(shù)據(jù)庫課設---酒店管理系統(tǒng)(C# + Winform)

    語言 :C# 工具 :Visual Studio 2019, Microsoft SQL Server Management Studio 18 數(shù)據(jù)庫 :SQL Server 15.0.2 OS :Windows 10 框架說明 WinForm 是 Windows Form 的簡稱,是基于 .NET Framework 平臺的客戶端(PC軟件)開發(fā)技術(shù),一般使用 C# 編程。 .NET Framework 是一種技術(shù),支持生成和運行 Windows 應用及 Web 服務

    2024年02月06日
    瀏覽(23)
  • 基于C#的圖書管理系統(tǒng)數(shù)據(jù)庫設計報告

    第一章 問題描述 1.1 圖書管理系統(tǒng)簡介 本系統(tǒng)利用.NET處理數(shù)據(jù)庫的功能,實現(xiàn)對圖書館信息的管理。主要功能為管理有關(guān)讀者、出版社、書籍、借閱和管理者的信息等。 本系統(tǒng)的結(jié)構(gòu)分為讀者信息管理模塊、出版社信息管理模塊、書籍信息管理模塊、借閱信息管理模塊、管

    2024年02月09日
    瀏覽(23)
  • 數(shù)據(jù)庫實驗——通過SQL Server Management Studio創(chuàng)建及管理數(shù)據(jù)庫

    數(shù)據(jù)庫實驗——通過SQL Server Management Studio創(chuàng)建及管理數(shù)據(jù)庫

    (1)熟悉SQL Server Management Studio。 (2)掌握通過SQL Server Management Studio管理數(shù)據(jù)庫的方法。 (3)掌握數(shù)據(jù)庫及其物理文件的結(jié)構(gòu)關(guān)系。 (4)掌握通過SQL Server Management Studio管理數(shù)據(jù)表的方法。 1.通過SQL Server Management Studio創(chuàng)建數(shù)據(jù)庫 創(chuàng)建一個名稱為學生管理信息Student_info數(shù)

    2024年02月08日
    瀏覽(38)
  • GaussDB云數(shù)據(jù)庫SQL應用系列-視圖管理

    GaussDB云數(shù)據(jù)庫SQL應用系列-視圖管理

    一、前言 GaussDB是一款基于云計算技術(shù)的高性能關(guān)系型數(shù)據(jù)庫,支持多種數(shù)據(jù)模型和分布式架構(gòu)。在GaussDB中,視圖管理是非常重要的一項功能,它可以幫助用戶更方便地管理和查詢數(shù)據(jù)。 數(shù)據(jù)庫視圖管理是指對數(shù)據(jù)庫中的視圖進行創(chuàng)建、修改、刪除、查詢等操作的過程。 參

    2024年02月06日
    瀏覽(632)
  • GaussDB云數(shù)據(jù)庫SQL應用系列—索引管理

    GaussDB云數(shù)據(jù)庫SQL應用系列—索引管理

    目錄 一、前言 二、注意事項 三、索引創(chuàng)建 1、創(chuàng)建普通索引 2、創(chuàng)建唯一索引 3、創(chuàng)建多字段索引 4、創(chuàng)建部分索引 5、創(chuàng)建表達式索引 四、索引管理 1、查看索引信息 2、刪除索引 總結(jié) 隨著互聯(lián)網(wǎng)的快速發(fā)展,數(shù)據(jù)量呈現(xiàn)爆炸式增長。如何高效地管理和查詢這些數(shù)據(jù)成為了

    2024年02月09日
    瀏覽(96)
  • SQL Server數(shù)據(jù)庫 -- 表的創(chuàng)建與管理

    SQL Server數(shù)據(jù)庫 -- 表的創(chuàng)建與管理

    一、數(shù)據(jù)表的組成 二、創(chuàng)建數(shù)據(jù)表 表的創(chuàng)建 表的查看 表的增加 表的修改 表的刪除、 三、表的架構(gòu)操作 四、總結(jié) 上次博客寫到了數(shù)據(jù)庫的創(chuàng)建與管理,但是創(chuàng)建的庫里面什么東西都沒有,現(xiàn)在我們需要在庫里面添加數(shù)據(jù)表內(nèi)容 ? 在創(chuàng)建表之前,我們需要先知道表里面有哪

    2024年02月11日
    瀏覽(22)
  • GaussDB云數(shù)據(jù)庫SQL應用系列-定時任務管理

    GaussDB云數(shù)據(jù)庫SQL應用系列-定時任務管理

    前言 GaussDB數(shù)據(jù)庫定時任務主要可以用于實現(xiàn)定期的備份、統(tǒng)計信息采集、數(shù)據(jù)匯總、數(shù)據(jù)清理與優(yōu)化等,它是指在指定的時間間隔內(nèi)自動執(zhí)行一次或多次SQL語句的程序。 GaussDB數(shù)據(jù)庫兼容Oracle定時任務功能主要通過DBE_TASK高級功能包提供的二次封裝接口實現(xiàn)(另可參見GaussD

    2024年02月08日
    瀏覽(90)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包