我用c#在web服务器上取数据保存道sql数据库。如果数据库中没有这条数据就INSERT有就更新Updata。
这里的IF语句怎么写。字段中有主键。我写了个类有Inster方法,我调用插入就是用的这个类的方法。我想数据更新也用这个类。我这个类的方法怎么修改。...
这里的IF语句怎么写。字段中有主键。我写了个类有Inster方法,我调用插入就是用的这个类的方法。我想数据更新也用这个类。我这个类的方法怎么修改。
展开
3个回答
展开全部
drop procedure usp_NewData
go
create procedure usp_NewData
@FieldA 类型A,
@FieldB 类型B,
@FieldC 类型C,
@FieldD,类型D--唯一条件
as
begin
if exists (select 1 from tableA where FieldD=@FieldD)
begin
update tableA set ... where FieldD=@FieldD
end
else
begin
insert into tableA(....) values(....)
end
end
return
go
--------------------------------------------------数据存储过程----------------------
类方法不用修改,如
private int NewData(Entity obj)
{
String sql="usp_NewData @FieldA=@a,@FieldB=@b..."
......
SqlCommand cmd....
cmd.Parameters.Add()....
cmd.Exec.....
}
go
create procedure usp_NewData
@FieldA 类型A,
@FieldB 类型B,
@FieldC 类型C,
@FieldD,类型D--唯一条件
as
begin
if exists (select 1 from tableA where FieldD=@FieldD)
begin
update tableA set ... where FieldD=@FieldD
end
else
begin
insert into tableA(....) values(....)
end
end
return
go
--------------------------------------------------数据存储过程----------------------
类方法不用修改,如
private int NewData(Entity obj)
{
String sql="usp_NewData @FieldA=@a,@FieldB=@b..."
......
SqlCommand cmd....
cmd.Parameters.Add()....
cmd.Exec.....
}
展开全部
传个参数,BOOL,真为有数据,更新操作。假为无数据,插入操作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先执行查询数据库数据放到一个DataSet中,IF语句判断这个DataSet就行了。如果有这条数据就执行更新操作,否刚就执行插入操作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询