Metodos de retorno cSharp
09/06/2013
0
Olá a todos
Será que alguém poder me dar uma dica de como fazer isso corretamente.
Abaixo tenho esses métodos de retornos na classe porem um não funciona ou ultimo fnc_retornaDataset
O que pode estar errado aqui ?
//Aqui funciona
#region retorna dataReader
public SqlDataReader fnc_retornaDataReader(string sql)
{
SqlConnection conexao = new SqlConnection(connstring);
conexao.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = sql.ToString();
cmd.Connection =conexao ;
SqlDataReader sqlReader = cmd.ExecuteReader();
return sqlReader;
}
#endregion
#region retornaDatatable //Aqui funciona
public DataTable fnc_RetornaDataTable(string sql)
{
SqlConnection conexao = new SqlConnection(connstring);
SqlCommand comando = conexao.CreateCommand();
comando.CommandText = sql;
SqlDataAdapter adaptador = new SqlDataAdapter(comando);
DataTable tabela = new DataTable();
conexao.Open();
adaptador.Fill(tabela);
conexao.Close();
return tabela;
}
#endregion
//Aqui não funciona
#region retornaDataset
public DataSet fnc_retornaDataSet( string sql ) {
SqlConnection conexao = new SqlConnection(connstring);
conexao.Open();
SqlCommand cmd = conexao.CreateCommand();
cmd.CommandText = sql;
cmd.Connection = conexao;
SqlDataReader sqlReader = cmd.ExecuteReader();
SqlDataAdapter dtAdapter = new SqlDataAdapter();
DataSet dsDataset = new DataSet() ;
dtAdapter.SelectCommand =cmd;
dtAdapter.Fill(dsDataset) ;
return dsDataset;
}
#endregion
Da erros dizendo que já existe um datareader aberto
Será que alguém poder me dar uma dica de como fazer isso corretamente.
Abaixo tenho esses métodos de retornos na classe porem um não funciona ou ultimo fnc_retornaDataset
O que pode estar errado aqui ?
//Aqui funciona
#region retorna dataReader
public SqlDataReader fnc_retornaDataReader(string sql)
{
SqlConnection conexao = new SqlConnection(connstring);
conexao.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = sql.ToString();
cmd.Connection =conexao ;
SqlDataReader sqlReader = cmd.ExecuteReader();
return sqlReader;
}
#endregion
#region retornaDatatable //Aqui funciona
public DataTable fnc_RetornaDataTable(string sql)
{
SqlConnection conexao = new SqlConnection(connstring);
SqlCommand comando = conexao.CreateCommand();
comando.CommandText = sql;
SqlDataAdapter adaptador = new SqlDataAdapter(comando);
DataTable tabela = new DataTable();
conexao.Open();
adaptador.Fill(tabela);
conexao.Close();
return tabela;
}
#endregion
//Aqui não funciona
#region retornaDataset
public DataSet fnc_retornaDataSet( string sql ) {
SqlConnection conexao = new SqlConnection(connstring);
conexao.Open();
SqlCommand cmd = conexao.CreateCommand();
cmd.CommandText = sql;
cmd.Connection = conexao;
SqlDataReader sqlReader = cmd.ExecuteReader();
SqlDataAdapter dtAdapter = new SqlDataAdapter();
DataSet dsDataset = new DataSet() ;
dtAdapter.SelectCommand =cmd;
dtAdapter.Fill(dsDataset) ;
return dsDataset;
}
#endregion
Da erros dizendo que já existe um datareader aberto
Carlos Faria
Curtir tópico
+ 0
Responder
Posts
09/06/2013
Joel Rodrigues
Na connection string, insira o parâmetro MultipleActiveResultSets=True.
Link de referência:[url]http://msdn.microsoft.com/en-us/library/h32h3abf(v=vs.80).aspx[/url]
Link de referência:[url]http://msdn.microsoft.com/en-us/library/h32h3abf(v=vs.80).aspx[/url]
Responder
Clique aqui para fazer login e interagir na Comunidade :)