C# 插入前判断数据库中是否存在该组记录
如题,我在插入前判断数据库中最新的一条记录与页面的记录是否相同,这里数据库中的数据列很多,其中要排除自动增长列id和添加时间列addTime以其他的数据做判断,我用到实体...
如题,我在插入前判断数据库中最新的一条记录与页面的记录是否相同,这里数据库中的数据列很多,其中要排除自动增长列id和添加时间列addTime以其他的数据做判断,我用到实体类对象,但是到具体做判断怎么做呢,谢谢了,
我的数据库列名 id,a001...a090,addtime,就是说字段较多,如果如一楼二楼的那样判断语句就N长了 展开
我的数据库列名 id,a001...a090,addtime,就是说字段较多,如果如一楼二楼的那样判断语句就N长了 展开
3个回答
展开全部
你既然用到了实体类,应该也是分层处理了吧,那么你只要写好存储过程或者sql语句,在数据层以以下方式判断即可。
/// <summary>
/// 是否存在该记录
/// </summary>
public int Exists(Model.yourModel model)
{
SqlParameter[] parameters ={new SqlParameter("@A",model.A),new SqlParameter("@B",model.B),new SqlParameter("@C",model.C)};
DataSet ds = DbHelperSQL.RunProcedure("your_procedure_name", parameters, "ds");
if (ds.Tables[0].Rows.Count>0)
{
int id =int.Parse(ds.Tables[0].Rows[0]["ID"].ToString());
return id;
}
else
{
return 0;
}
}
/// <summary>
/// 是否存在该记录
/// </summary>
public int Exists(Model.yourModel model)
{
SqlParameter[] parameters ={new SqlParameter("@A",model.A),new SqlParameter("@B",model.B),new SqlParameter("@C",model.C)};
DataSet ds = DbHelperSQL.RunProcedure("your_procedure_name", parameters, "ds");
if (ds.Tables[0].Rows.Count>0)
{
int id =int.Parse(ds.Tables[0].Rows[0]["ID"].ToString());
return id;
}
else
{
return 0;
}
}
展开全部
需要有一个唯一键, 也就是你的业务判断记录是否相同的标准
可以用sql中的 exist
或者 select count(1) from table where 你判断的条件 判断记录条数
可以用sql中的 exist
或者 select count(1) from table where 你判断的条件 判断记录条数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把你页面里面添加的记录作为条件到数据库中进行查询,判断查询结果为空的则表示数据库中没有该条数据,可以插入,否则不插入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询