sexta-feira, junho 06, 2008

Erro ao instanciar SqlDataReader

Salve,

Faz algum tempo que venho ensaiando ASP.NET (usando C#, obvio), mas esta semana mergulhei mesmo nesse negócio.
Na que na empresa em que trabalho está se cogitando a mudança de tecnologia - na verdade os Analistas estão querendo, já que para a empresa isso é indiferente, o que vale é o resultado - e nosso supervisor sugeriu que nós desenvolvessemos algo real, para que tenhamos argumentos para convencer nosso gerente (sic). Tem alguma coisa na contra-mão, não tem não? Mas deixa isso pra lá.

Pois bem, comecei do básico, e nesse caso o básico é o acesso e a manipulação de dados no SQL Server 2000, e aí veio aquele monte de dúvidas, sobre qual arquitetura usar, sobre qual meio de acesso usar (o ADO.NET oferece vários) , sendo que para a solução que eu precisava achei que o SqlDataReader seria interessante, já que eu precisava apenas recuperar um registro, e ele é bem levinho e simples. Porém chegou um momento, onde o eu recebia uma mensagem muito impertinente, que me avisava que eu já tinha um DataReader aberto, mas eu não tinha, ou melhor eu tinha, mas eram SqlDataReader diferentes! Porque então recebia a mensagem? Simples: eu estou usando o pattern Singleton para me retornar um objeto SqlConnection, ou seja, uma mesma conexão para os dois e eu NÃO POSSO ter dois SqlDataReader abertos ao mesmo tempo em uma mesma conexão. Mas como irritou aquela mensagem! :)

Esse é um problema comum de quando estamos aprendendo uma nova tecnologia, mas está sendo muito bacana essa nova "empreitada".

Abraços e até+

Nenhum comentário: