Bom dia a todos(as), estou tendo um problema para recuperar dados com uma consulta,
public static SqlDataReader getDataReader(string p_Query, List<string> Parametros, List<Object> Filtros)
{
//Esse método retorna um SqlDataReader aberto com substituição de parametros da query substituidos pela lista de parametros com a lista de filtros
//ATENÇÃO! A lista de parametros deve ter o mesmo numero de filtros, senão, o metodo retorna null
//Caso a lista de parametros e a lista de filtros estejam vazios retornará um SqlDataReader vazio
string SQL = p_Query;
SqlConnection con = new SqlConnection(Conexao.obterConexao());
if (Parametros.Count == Filtros.Count)
{
SqlCommand cmd = new SqlCommand(p_Query, con);
int v_indice = 0;
cmd.Parameters.Clear();
foreach (string Parametro in Parametros)
{
char[] v_Separadores = { ' ' };
cmd.Parameters.AddWithValue(Parametro, Filtros[v_indice]);
v_indice++;
}
con.Open();
if (cmd != null)
{
try
{
SqlDataReader da = cmd.ExecuteReader();
return da;
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
return null;
}
}
else
{
con.Open();
SqlCommand cmd4 = new SqlCommand(String.Empty, con);
SqlDataReader da1 = cmd4.ExecuteReader();
return da1;
}
}
return null;
}
A String p_Query está sendo passada corretamente, assim como as listas de parâmetros e filtros, contudo o da retorna as colunas vazias. executando a mesma query subistituindo a data no T-SQL retorna os dados corretamente. Se eu executar outra query com seus parametros e filtros retorna os dados corretamente.