重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
LINQ中怎么插入删除和更新数据库记录备注,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联建站专注于应城网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供应城营销型网站建设,应城网站制作、应城网页设计、应城网站官网定制、小程序设计服务,打造应城网络公司原创品牌,更为您提供应城网站排名全网营销落地服务。
请看下面的代码片断:
public bool InsertUserStatus(string UserName) { eMailDataContext dt = new eMailDataContext(); try { //删除可能存在的原有用户状态信息 Table3 u = dt.Table3.First(m => m.abc == UserName); //if (dt.Table3.Count() != 0) //{ // Table3 u = dt.Table3.First(m => m.abc == UserName); //if (u != null) //{ dt.Table3.DeleteOnSubmit(u); dt.SubmitChanges(); //} //} //创建新的用户状态信息 Table3 userstatus = new Table3 { abc = UserName }; //插入到数据库表格UserStatus中 dt.Table3.InsertOnSubmit(userstatus);
上述代码的意思是,在表格Table3 中先删除可能存在的符合条件的记录,然后在此表格中再插入一条记录数据。上面的代码将“可能”引发异常,将流程控制转向(2)处。
这些“可能”在于,数据表格Table3 中最初无记录,则必引发异常;如果有记录,则一切符合既定操作要求。
于是,修改上面的代码为如下:
public bool InsertUserStatus(string UserName) { eMailDataContext dt = new eMailDataContext(); try { //删除可能存在的原有用户状态信息 if (dt.Table3.Count() != 0)// (1) { Table3 u = dt.Table3.First(m => m.abc == UserName); if (u != null) { dt.Table3.DeleteOnSubmit(u); dt.SubmitChanges(); } } //创建新的用户状态信息 Table3 userstatus = new Table3 { abc = UserName }; //插入到数据库表格UserStatus中 dt.Table3.InsertOnSubmit(userstatus); dt.SubmitChanges();
也就是说,删除操作前需要先判定数据表格是否记空--这可以通过红色的if语句((1)处)来实现。
如此以来,无论表格中是否事先存在记录都可以往下执行可能的删除及插入操作了。
[二]
再来看一个例子,例如:
//删除旧的邮件 public static void DeleteSubject(string UserName, string host) { eMailDataContext dt = new eMailDataContext(); string cmdText = "delete from MailDownloadTemp where UserName=" + "'"+UserName +"'"+ " and Host=" + "'"+host+"'"; try { int result = dt.ExecuteCommand(cmdText); return; } catch (System.InvalidOperationException) { return; } } |
上述操作同样抛出异常。因此,需要同上面提到的那样,先进行数据库表格记录数据判断,再进行可能的删除操作。因此,再修改上面代码,如下所示:
//删除旧的邮件 public static void DeleteSubject(string UserName, string host) { eMailDataContext dt = new eMailDataContext(); if (dt.MailDownloadTemp.Count() == 0) return; string cmdText = "delete from MailDownloadTemp where UserName=" + "'"+UserName +"'"+ " and Host=" + "'"+host+"'"; try { int result = dt.ExecuteCommand(cmdText); return; } catch (System.InvalidOperationException) { return; } } |
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。