首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Linq to sql 中怎样判断添加、修改、删除是否成功?该怎么处理

2012-04-13 
Linq to sql 中怎样判断添加、修改、删除是否成功?Linq to sql 中怎样判断添加、修改、删除是否成功?[解决办法

Linq to sql 中怎样判断添加、修改、删除是否成功?
Linq to sql 中怎样判断添加、修改、删除是否成功?

[解决办法]
以添加为例:

var user=new User{Name="Tim"};
db.User.InsertOnSubmit(user);
db.SubmitChanges();
return user.Id>0;
[解决办法]
我给你举个例子把
1、修改
public void Update(Product product)
{
var prod=db.Product.SingleOrDefault(a=>a.Id==product.Id);
if(prod!=null)
{
Name=product.Name;
Price=product.Price;

db.SubChanges();
}

}

删除方法:
public void Update(Product product)
{
var prod=db.Product.SingleOrDefault(a=>a.Id==product.Id);
if(prod!=null)
{
db.Product.DeleteChanges(prod);
db.SubChanges();
}
[解决办法]

探讨

上面的方法只能得到插入的ID来判断。
但是如果是修改,和删除就不行啦。
如果能得到影响的行数该多好
好像Linq微软没考虑这方面呀。

[解决办法]
学习了~~
我之前也是使用linq更新,但是无法知道是否更新成功~,之后想到使用存储过程,在存储过程使用输出参数,判断受影响行数,即可知道是否更新成功!
例如:
SQL code
create proc sp_updatePwd    @id nvarchar(20),    @pwd nvarchar(20) ,    @result int = -1 output --输出参数,表示受影响行数as    update tbLogin  set pwd =@pwd where id = @id    set @result = @@rowcount   --@@rowcount   表示执行上一条语句受影响的行数 

热点排行