方法一:Attach方法

EmployeeDAL

/// <summary>
        /// 更新雇员信息
        /// </summary>
        /// <param name="e"></param>
        public void UpdateEmploee(Employee e)
        {
            try
            {
                dc.Employee.Attach(e);
                dc.Refresh(RefreshMode.KeepCurrentValues, e);
                dc.SubmitChanges(ConflictMode.ContinueOnConflict);
            }
            catch(Exception ex)
            {
                throw ex;
            }
        }
 
ThreeTierBLL
        /// <summary>
        /// 更新雇员信息
        /// </summary>
        /// <param name="e"></param>
        public static void UpdateEmploee(Employee e)
        {
            new EmployeeDAL().UpdateEmploee(e);
        }
 
Web
protected void btnSubmit_Click(object sender, EventArgs e)
        {
            Employee emp = new Employee();
            emp.EmployeeID = this.txtEmpID.Text;
            emp.EmployeeName = this.txtEmpName.Text;
            emp.EmployeePhone = this.txtEmpPhone.Text;
            emp.DepartmentID = Convert.ToInt32(this.txtDepID.Text);
            EmployeeBLL.UpdateEmploee(emp);
        }

方法二:读出现有字段,更改

DAL

/// <summary>
        /// 根据工号修改手机号
        /// </summary>
        /// <param name="num">工号</param>
        /// <param name="newphone">新的手机号</param>
        public void ModifyCellPhoneByNum(string num, string newphone)
        {
            try
            {
                var stu = (from s in dc.TeacherBasicInformation
                           where s.TeacherNum == num
                           select s).FirstOrDefault();
                stu.TeacherCellPhone = newphone;
                dc.SubmitChanges();
            }
            catch
            { }
           
        }
 
BLL
        /// <summary>
        /// 根据工号修改手机号
        /// </summary>
        /// <param name="num">工号</param>
        /// <param name="newphone">新的手机号</param>
        public static void ModifyCellPhoneByNum(string num, string newphone)
        {
            new TeacherDAL().ModifyCellPhoneByNum(num, newphone);
        }
 
web
        /// <summary>
        ///  编辑中的更新
        /// </summary>
        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            if (((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.Trim() == "")
            {
                PageExtension.Alert(this, "新的手机号不能为空!");
            }
            else
            {
                TeacherBLL.ModifyCellPhoneByNum(GridView1.DataKeys[e.RowIndex].Value.ToString(),
                ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.Trim());
                this.GridView1.EditIndex = -1;
                Bind();
            }

}

转载于:https://blog.51cto.com/woshixy/1188014

Linq中两种更新操作相关推荐

  1. 【TensorFlow】池化层max_pool中两种paddding操作

    max_pool()中padding参数有两种模式valid和same模式. Tensorflow的padding和卷积层一样也有padding操作,两种不同的操作输出的结果有区别: 函数原型max_ ...

  2. 函数指针--Nginx和Redis中两种回调函数写法

    1.Nginx和Redis中两种回调函数写法 #include <stdio.h>//仿Nginx风格 //结构外声明函数指针类型 typedef void (*ngx_connectio ...

  3. unity3d软阴影和硬阴影的原理_Unity3D中两种默认阴影的实现

    Unity3D中两种阴影的实现 传统的ShadowMap ShadowMap说起来十分简单,把摄像机和光源的位置重叠,那么场景中该光源的阴影区域就是那些摄像机看不到的地方,主要应用在前向渲染路径中. ...

  4. android studio gradle 自动更新,android studio gradle 两种更新方法更新

    又快一年没有使用AS了,正好要查看一个Android项目代码,干脆升级到新版试试看新变化,旧版本为3.1.2,目前最新版本为3.4.2,AS的升级是很简单的直接update等待即可. 升级完了,打开G ...

  5. R中两种常用并行方法——2. snowfall

    上一篇博客(R中两种常用并行方法--1. parallel)中已经介绍了R中常见的一种并行包:parallel,其有着简单便捷等优势,其实缺点也是非常明显,就是很不稳定.很多时候我们将大量的计算任务挂 ...

  6. Spring中两种编程式事务管理

    Spring中两种编程式事务管理 在代码中显示调用beginTransaction,commit,rollback等与事务处理相关的方法,这就是编程式事务管理,当只有少数事务操作时,编程式事务管理才比 ...

  7. matlab 遍历每个像素点,Mat中两种像素遍历方法比较

    小白,入门中,不足其指正.刚刚接触opencv,从一个Matlab风格的编程环境突然跳转到C++,实在有些不适.单就pixels scanning花了好长时间研究.opencv-tutorials给出 ...

  8. Qt界面加载网络摄像头,并实时显示,两种更新界面的方法

    Qt界面加载网络摄像头,并实时显示,两种更新界面的方法 1.Qt界面加载网络摄像头,并实时显示,根据头文件中的宏定义来区分使用哪种方式.①Qt信号槽更新界面,②c语言回调方式更新界面 2.使用Open ...

  9. spring mvc中两种异常的处理手法

    spring mvc中两种异常的处理手法 在spring mvc中,对异常的处理,可以小结有如下两类写法: 1 <bean id="exceptionResolver" cl ...

最新文章

  1. Linux系统服务器如何禁ping
  2. Redis-13Redis发布订阅
  3. Ubuntu基本命令
  4. 树莓派 QT 编程下的硬件中断
  5. mysql存储数据到cephfs_采用cephfs实现Elasticsearch数据持久化
  6. OO第二单元作业总结
  7. python数据可视化工具 pandas_Pandas数据可视化工具——Seaborn用法整理(下)
  8. 企业实战_10_MyCat Mysql 主复制总结
  9. 备份恢复linux,备份和恢复Linux系统
  10. 访问修饰符 c# 1613703072
  11. win32——消息循环 原理 函数 GetMessage PeekMessage TranslateMessage SendMessage PostMessage...
  12. 小端法、大端法、网络字节转序
  13. 《那些年啊,那些事——一个程序员的奋斗史》四
  14. adb工具包的安装和使用(Windows)
  15. 算法:罗马数字转整数
  16. pytyon 微妙_字体的微妙力量
  17. Scrapy 入门教程
  18. IT人转型的终极目标
  19. Android ——XML布局实现桌面台球的开始界面
  20. VS编译失败,找不到源文件!!!

热门文章

  1. 这年头连人用脑机接口信号都能无线传输了,瘫痪者可在家轻松上网看视频
  2. 一群工程师,让听障群体“看见”了声音
  3. Nature:光解水催化剂效率接近100%!马斯克移民火星的能源和氧气这下有了
  4. C++ BigInt模板手打
  5. Python 面试总结
  6. 从挂起到实现,你知道内核是如何实现的?
  7. Hadoop HBase概念学习系列之HRegion服务器(三)
  8. JAVA (集合和数据结构)
  9. [关于SQL]查询成绩都大于80分的学生
  10. 高并发高流量网络架构