DAL层修改sql表数据

Posted Cein

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DAL层修改sql表数据相关的知识,希望对你有一定的参考价值。

组长写的,DAL层Update

 1         //编辑
 2         public int Update(Dictionary<string, object> par, long uid)
 3         {
 4             if (par.Count == 0) return 0;
 5             StringBuilder Sql = new StringBuilder();
 6             Sql.Append("UPDATE uc_user SET ");
 7             SqlParameter[] pars = new SqlParameter[par.Count + 1];
 8             string[] fields = new string[par.Count];
 9             int index = 0;
10             foreach (string name in par.Keys)
11             {
12                 Sql.AppendFormat("[" + name + "] [email protected]_{0},", index);
13                 pars[index] = new SqlParameter("@p_" + index.ToString(), par[name]);
14                 index++;
15             }
16             Sql.Remove(Sql.Length - 1, 1);
17             Sql.Append(" WHERE ");
18             Sql.Append("[UID] = @p_" + index.ToString());
19             pars[index] = new SqlParameter("@p_" + index.ToString(), uid);
20             index++;
21             return SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.Text, Sql.ToString(), pars);
22         }

修改用户名,BLL层只需要传入对应的密码

 1         public static int Update(Dictionary<string, object> par, long AUID)
 2         {
 3             return dal.Update(par, AUID);
 4         }
 5 
 6         public static int EditPwd(string Pwd, long Auid)
 7         {
 8             Dictionary<string, object> dic = new Dictionary<string, object>();
 9             dic.Add("UserPassword", Utils.MD5(Pwd));
10             return Update(dic, Auid);
11         }

然后web层调用就行

1 BLL.Uc.UserB2B.EditPwd(newpwd, CurrentUser.UID);

因为是字典循环调用,固传入修改的什么列,就修改什么列,条件自己定义,很灵活

 

以上是关于DAL层修改sql表数据的主要内容,如果未能解决你的问题,请参考以下文章

01三层架构简介

DAL 层:EF 4.0 或带有存储过程的普通数据访问层

将数据访问逻辑从业务层移至数据访问层

C# Dapper基本三层架构使用 (DAL)

如何在 ASP.NET 中组织数据访问层 (DAL)

学生管理系统----(分层开发)