コード例 #1
0
        protected SqlCommand GetCommand(string strSQL, CommandType cmdType, ParamCollection ParameterArray)
        {
            SqlCommand cmd = new SqlCommand();
            Int32      i   = default(Int32);
            Int32      j   = default(Int32);


            SqlParameter[] para_SP = null;

            if (cmdType == CommandType.StoredProcedure)
            {
                para_SP = Get_SPParameterSet(strSQL);
            }

            if (para_SP != null)
            {
                //Duyệt từng tham số từ store procedure
                //Duyệt tham số từ code
                //Kiểm tra tham số giữa store và code có trùng tên không
                //Nếu có gán dữ liệu cho tham số store là dữ liệu tham số code
                //Ngược lại default nothing

                for (i = 0; i <= para_SP.Length - 2; i++)
                {
                    SqlParameter ps_SP = para_SP[i];

                    for (j = 0; j <= ParameterArray.Count - 1; j++)
                    {
                        ParamStruct ps_Code = ParameterArray[j];
                        if (ps_SP.ParameterName.ToUpper() == ps_Code.ParamName.ToUpper())
                        {
                            if (System.DBNull.Value == ps_Code.Value)
                            {
                                ps_SP.Value = null;
                            }
                            else
                            {
                                ps_SP.Value = ps_Code.Value;
                            }
                            break;
                        }
                        else
                        {
                            ps_SP.Value = null;
                        }
                    }

                    IDbDataParameter pm = GetParameter(ps_SP.ParameterName, ps_SP.Direction, ps_SP.Value, ps_SP.DbType, ps_SP.Size);
                    cmd.Parameters.Add(pm);
                }
            }
            else
            {
                if (((ParameterArray != null)) && ParameterArray.Count > 0)
                {
                    for (i = 0; i <= ParameterArray.Count - 1; i++)
                    {
                        ParamStruct      ps = ParameterArray[i];
                        IDbDataParameter pm = GetParameter(ps.ParamName, ps.Direction, ps.Value, ps.DataType, ps.Size);
                        cmd.Parameters.Add(pm);
                    }
                }
            }


            cmd.CommandType = cmdType;
            cmd.CommandText = strSQL;
            return(cmd);
        }
コード例 #2
0
 public Int32 Add(ParamStruct value)
 {
     return(List.Add(value));
 }