/// <summary> /// Valida e cria os parâmetros no FBCommand. /// </summary> /// <param name="cmd"></param> /// <param name="sql"></param> /// <param name="paramss"></param> public static void CriarParametros(this FbCommand cmd, string sql, Dictionary <string, object> paramss) { List <string> parametrosSQL = new List <string>(); List <string> parametrosPassados = new List <string>(); StringBuilder sb = new StringBuilder(); string[] arr = null; if (sql.IndexOf('@') > -1) { sql = sql.Substring(sql.IndexOf('@') + 1); arr = sql.Split('@'); } //Parametros do SQL foreach (string a in arr) { int idx = 0; if (a.IndexOf(',') > -1) { idx = a.IndexOf(','); } else if (a.IndexOf(')') > -1) { idx = a.IndexOf(')'); } else { idx = a.IndexOf(';'); } string parameter = a.Substring(0, idx).Trim(); parametrosSQL.Add(parameter.ToUpper()); } //Parametros Passados foreach (KeyValuePair <string, object> kv in paramss) { parametrosPassados.Add(kv.Key.ToUpper()); } List <string> list1 = parametrosPassados.Except(parametrosSQL).ToList(); List <string> list2 = parametrosSQL.Except(parametrosPassados).ToList(); //Após validar coloca os parâmetros foreach (KeyValuePair <string, object> kv in paramss) { cmd.AdicionarParametro(kv.Key, kv.Value); } }