zoukankan      html  css  js  c++  java
  • 20150222—LINQ to SQL 插入、更新和删除

    注意,使用LINQ to SQL时, 表中必须有一个主键才可以起效,否则系统将无法对数据作出修改

    插入新数据,根据上一片的文章实例在其中添加新的控件:

    编号TextBox(Name):sno

    名字TextBox(Name):sname

    性别TextBox(Name):ssex

    生日DateTimePicker(Name):bir

    班级TextBox(Name):sclass

    以及 添加按钮

    image

    下面是添加按钮中的代码:

    private void tianjia_Click(object sender, EventArgs e)
            {
                string sno = bianhao.Text.Trim();//编号TextBox
                string sname = mingzi.Text.Trim();//名字TextBox
                string ssex = xingbie.Text.Trim();//性别TextBox
                DateTime bir = shengri.Value;//生日
                string sclass = banji.Text.Trim();//班级TextBox
    
                if (sno != "" || sname != "" || ssex != "" || sclass != "")
                {
                    DataClasses1DataContext dc = new DataClasses1DataContext();
                    //根据要添加信息的表的表名初始化这个表的类
                    Student stu = new Student
                    {
                        Sno = sno,
                        Sname = sname,
                        Ssex = ssex,
                        Sbirthday = bir,
                        Class = sclass,
                    };
                    //以下两行代码是修改数据库的重要代码,不能遗漏,否则会无法修改数据
                    dc.Student.InsertOnSubmit(stu);//修改内存中的数据
                    dc.SubmitChanges();//将修改的数据写入到数据库中。
    
                    MessageBox.Show("添加成功!");
                }
                else
                {
                    MessageBox.Show("请填入完整信息");
                }
            }

    尝试添加新的数据,(注意,使用LINQ to SQL时, 表中必须有一个主键才可以起效,否则系统将无法对数据作出修改)

    image

    再次查询的结果:

    image

    更新(修改)数据

    首先修改一下GridView的属性,以方便我们的操作,把行为中 SelectionMode 的值改为FullRowSelect,选中一行

    image

    然后在GridView中添加一个新的事件(在DoubleClick的右面双击即可):

    image

    在窗体中添加新的控件:
    编号TextBox(Name):xiugai_bianhao;固定编号,将其属性--行为—Enabled修改为Falseimage

    名字TextBox(Name):xiugai_mingzi

    性别TextBox(Name):xiugai_xingbie

    生日DateTimePicker(Name):xiugai_shengri

    班级TextBox(Name): xiugai_banji

    以及修改按钮

    image

    然后在刚刚新建的双击事件中写入以下代码:

    private void dataGridView1_DoubleClick(object sender, EventArgs e)
            {
                //这里的代码只是将选中信息写入到修改分组中
                xiugai_bianhao.Text = dataGridView1.SelectedCells[0].Value.ToString().Trim();//编号
                xiugai_mingzi.Text = dataGridView1.SelectedCells[1].Value.ToString().Trim();//名字
                xiugai_xingbie.Text = dataGridView1.SelectedCells[2].Value.ToString().Trim();//性别
                xiugai_shengri.Value =DateTime.Parse(dataGridView1.SelectedCells[3].Value.ToString());//生日
                xiugai_banji.Text = dataGridView1.SelectedCells[4].Value.ToString().Trim();//班级
            }

    注:查询选中的一行中的单元格,其单元格的索引从左到右依次为0,1,2,3,…..

    修改按钮:

    private void button3_Click(object sender, EventArgs e)
            {
                DataClasses1DataContext dc = new DataClasses1DataContext();
    
                var xiu = dc.Student.Single(m => m.Sno == xiugai_bianhao.Text);//根据编号确定所在行
                xiu.Sname= xiugai_mingzi.Text.Trim();//  修改 名字
                xiu.Ssex = xiugai_xingbie.Text.Trim();// 性别
                xiu.Sbirthday = xiugai_shengri.Value;//生日
                xiu.Class = xiugai_banji.Text.Trim();//班级
    
                dc.SubmitChanges();//重要代码 不要遗漏
    
            }

    双击某一行:

    image

    然后在修改数据一组中修改数据:

    image

    点击修改,再次查询。

    image

    修改成功。

    删除数据:

    添加删除按钮,写入代码:

    private void button4_Click(object sender, EventArgs e)
            {
                 DataClasses1DataContext dc = new DataClasses1DataContext();
    
                  var del = dc.Student.Single(m => m.Sno == dataGridView1.SelectedCells[0].Value);//根据编号确定要删除的数据
                    dc.Student.DeleteOnSubmit(del);//删除语句
    
                    dc.SubmitChanges();//重要代码 不要遗漏
            }
    image

    选中一行点击删除按钮,再次查询:

    image

    删除成功。

  • 相关阅读:
    NGINX学习(二)--nginx配置文件详解
    NGINX学习(一)--nginx的安装与启动
    Linux服务器参数查看命令
    记录工作中遇到的那些坑(一)--NGINX配置worker_connections
    Mysql视图触发器函数事务
    pymsql
    装饰器模型
    多进程属性和方法
    mysql
    FTP简单的大文件传输
  • 原文地址:https://www.cnblogs.com/Tirisfal/p/4297448.html
Copyright © 2011-2022 走看看