zoukankan      html  css  js  c++  java
  • .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]);
    }

  • 相关阅读:
    联合查询
    单表查询
    表和表之间的关系
    mysql完整性约束
    mysql 数据类型
    DRBD 数据镜像软件
    Memcached
    Redis
    SVN版本控制服务
    大数据hadoop分布式系统
  • 原文地址:https://www.cnblogs.com/gyjjyg/p/7078948.html
Copyright © 2011-2022 走看看