国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

asp.ne!t SqlParameter如何根據條件有選擇的添加參數

2019-11-02 14:38:07
字體:
來源:轉載
供稿:網友

 有時候寫sql語句的時候會根據方法傳進來的參數來判斷sql語句中where條件的參數,下面有個示例,大家可以參考下

   SqlParameter帶參數的增刪改查語句,可以防止注入.有時候寫sql語句的時候會根據方法傳進來的參數來判斷sql語句中where條件的參數.

一般方法

DAL層方法
代碼如下:
public UserInfo GetAll(UserInfo a)
{
string strSql = "select id,name,code,password from [tb].[dbo].[User] where 1=1";
strSql += " and [id][email protected]";
strSql += " and [name][email protected]";
strSql += " and [code][email protected]";
strSql += " and [password][email protected]";
SqlParameter[] parameters = {
new SqlParameter("@id", a.id)
new SqlParameter("@name", a.name)
new SqlParameter("@code", a.code),
new SqlParameter("@password", a.password)
};
SqlDataReader reader = SqlHelper.ExecuteReader(strSql, parameters);
UserInfo hc = new UserInfo();
while(reader.Read())
{
hc.id = reader.GetInt32(reader.GetOrdinal("id"));
hc.name = reader.GetString(reader.GetOrdinal("name"));
hc.code = reader.GetString(reader.GetOrdinal("code"));
hc.pass
好看的雷人圖片[www.62-6.com/1/leirentupian/]
word = reader.GetString(reader.GetOrdinal("password"));
}
reader.Close();
return hc;
}
現在想根據集合UserInfo內屬性來添加SqlParameter參數

方法如下

DAL層方法
代碼如下:
public UserInfo GetALL(UserInfo a)
{
string strSql = "select id,name,code,password from [tb].[dbo].[User] where 1=1";
if (a.id>0) strSql += " and [id][email protected]";
if (!string.IsNullOrEmpty(a.name)) strSql += " and [name][email protected]";
if (!string.IsNullOrEmpty(a.code)) strSql += " and [code][email protected]";
if (!string.IsNullOrEmpty(a.password)) strSql += " and [password][email protected]";
List<SqlParameter> parametertemp = new List<SqlParameter>();
if (a.id > 0) parametertemp.Add(new SqlParameter("@id", a.id));
if (!string.IsNullOrEmpty(a.name)) parametertemp.Add(new SqlParameter("@name", a.name));
if (!string.IsNullOrEmpty(a.code)) parametertemp.Add(new SqlParameter("@code", a.code));
if (!string.IsNullOrEmpty(a.password)) parametertemp.Add(new SqlParameter("@password", a.password));
SqlParameter[] parameters = parametertemp.ToArray();//ToArray()方法將 List<T> 的元素復制到新數組中。

SqlDataReader reader = SqlHelper.ExecuteReader(strSql, parameters);
UserInfo hc = new UserInfo();
while (reader.Read())
{
hc.id = reader.GetInt32(reader.GetOrdinal("id"));
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湘潭市| 舒城县| 兴安县| 灵川县| 顺平县| 都江堰市| 通榆县| 济南市| 台州市| 双辽市| 枣强县| 隆化县| 远安县| 阜新| 阆中市| 九台市| 温州市| 南丹县| 武清区| 逊克县| 利津县| 安义县| 那坡县| 晴隆县| 洛川县| 北海市| 抚顺县| 伊吾县| 开鲁县| 博客| 广元市| 诏安县| 南汇区| 乌恰县| 衡阳市| 沂源县| 繁昌县| 兴化市| 寿阳县| 甘谷县| 壤塘县|