.net在Oracle數據庫中為In條件查詢防止sql注入參數化處理


//返回in條件處理方法

public static string InsertParameters(ref List<OracleParameter> orclParameters, int[] lsIds, string uniqueParName)
{
string strParametros = string.Empty;

for (int i = 0; i <= lsIds.Length - 1; i++)
{
strParametros += i == 0 ? ":" + uniqueParName + i : ", :" + uniqueParName + i;

OracleParameter param = new OracleParameter(uniqueParName + i.ToString(), OracleType.Number);
param.Value = lsIds[i];
orclParameters.Add(param);
}
return strParametros;
}

//代碼調用使用

List<OracleParameter> parameterList = new List<OracleParameter>();
string[] strArray = state.Split(new char[] { ',' });
int[] intArray;
intArray = Array.ConvertAll<string, int>(strArray, s => int.Parse(s));//字符串數組轉化為int數組
string idStr = DBOperator.InsertParameters(ref parameterList, intArray, "id");
//string www = "("+state+")";
strWhere += " and q.state in(idStr))";
for (int i = 0; i < idStr.Split(',').Length;i++ )
{
DBOperator.SPWrite.MakeInParam(idStr.Split(',')[i], DbType.Int32, -1, intArray[i]);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM