[Resolvido] Erro ao retornar um DataTable de uma função que executa uma StoredProcedure em MySQL
Senhores.
Gostaria de Executar uma StoredProcedure em MySql
e o resultado retornar em um DataTable.
mas o retorno do DataTable não está dando certo.
Tenho uma conexão com o mysql:
public class Conexao
private MySqlConnection conexao = null;
private DataTable dt;
private MySqlDataAdapter da;
private MySqlCommandBuilder cb;
private MySqlDataReader dr;
private MySqlParameter[] pms;
string StrConexao = "server=" + ConfigurationManager.AppSettings["server_name"] + ";" +
"dataBase=" + ConfigurationManager.AppSettings["data_base"] + ";" +
"port=" + ConfigurationManager.AppSettings["port_number"] + ";" +
"User Id=root;" +
"password=root";
// Metodo conectar no banco.
public MySqlConnection AbrirConexao()
{
try
{
conexao = new MySqlConnection(StrConexao);
conexao.Open();
return conexao;
}
catch (Exception erro)
{
throw erro;
}
}
}
Conexão está funcionando porque utilizo ela em outro recurso.
Tenho uma Stored Procedure em MySql:
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_seleciona_pessoa`()
BEGIN
select id, nome from pessoa;
END
Tenho uma função que retorna um DataTable:
public DataTable RetDataTableStoredProc()
{
MySqlCommand cmd = new MySqlCommand();
AbrirConexao();
cmd.Connection = conexao;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = StoredProc;
dr = cmd.ExecuteReader();
dt.Load(dr);
return dt;
}
O comando dr = cmd.ExecuteReader(); passa sem dar erro
mas quando executo as duas linhas abaixo:
dt.Load(dr);
return dt;
e não retorna um DataTable.
Conto com vossa ajuda.
Att.
Gilberto RezendeDiscussão (1)
Carregando comentários...