Fórum Problemas com Sessão #367556
06/01/2009
0
Olá gente, sou novo no forum, e desde já agradeço pela atenção de todos.
Olha só, estou com uma dúvida e que provavelmente pode ser um bug do Delphi 2009.
Vou explicar.
Eu uso com BDS2006+DBExpress+MySQL.
Agora com o RAD 2009, passei meu sistema para o mesmo. Só que surgiu um problema.
Criei uma função no Banco que faz vário select´s e joga tudo em uma tabela temporária, ao terminar de rodá-la no delphi, eu abro a tabela temporária em um grid, isso tudo no BDS2006, já no RAD2009, a tabela não existe.
Minha explicação ao problema encontrado é o seguinte. Quando criamos uma tabela temporária, ela passa a existir somente na sessão que foi conectado, no DBExpress essa sessão muda quando setamos a propriedade KeepConnection do SQLConnection para False. Pois bem, no RAD2009, a propriedade KeepConnection estando True ou False, a sessão sempre muda, como se o SQLConnection desconectasse e conectasse toda vez que solicitamos algo ao banco.
Compreendeu meu problema?
Será bug?
Exemplo
BDS2006:
sqlquery1.sql.text := ´select connection_id() as teste´;
clientdataset1.open;
Showmessage(clientdataset1.fieldbyname(´teste´).asstring);
===> aqui o resultado vamos dizer que é 1, se fechar o clientdataset1 e abrir novamente o resultado vai ser 1, isso sem desconectar o sqlconnection1.
===> já no Delphi 2009 o primeiro resultado seria 1, depois 2, como se tivesse desconetado o sqlconnection ou como se a propriedade KeepConnection estivesse false.
Olha só, estou com uma dúvida e que provavelmente pode ser um bug do Delphi 2009.
Vou explicar.
Eu uso com BDS2006+DBExpress+MySQL.
Agora com o RAD 2009, passei meu sistema para o mesmo. Só que surgiu um problema.
Criei uma função no Banco que faz vário select´s e joga tudo em uma tabela temporária, ao terminar de rodá-la no delphi, eu abro a tabela temporária em um grid, isso tudo no BDS2006, já no RAD2009, a tabela não existe.
Minha explicação ao problema encontrado é o seguinte. Quando criamos uma tabela temporária, ela passa a existir somente na sessão que foi conectado, no DBExpress essa sessão muda quando setamos a propriedade KeepConnection do SQLConnection para False. Pois bem, no RAD2009, a propriedade KeepConnection estando True ou False, a sessão sempre muda, como se o SQLConnection desconectasse e conectasse toda vez que solicitamos algo ao banco.
Compreendeu meu problema?
Será bug?
Exemplo
BDS2006:
sqlquery1.sql.text := ´select connection_id() as teste´;
clientdataset1.open;
Showmessage(clientdataset1.fieldbyname(´teste´).asstring);
===> aqui o resultado vamos dizer que é 1, se fechar o clientdataset1 e abrir novamente o resultado vai ser 1, isso sem desconectar o sqlconnection1.
===> já no Delphi 2009 o primeiro resultado seria 1, depois 2, como se tivesse desconetado o sqlconnection ou como se a propriedade KeepConnection estivesse false.
Paulocampos
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)