Aplicacao de Banco de Dados (O Retorno)

bom gente ja discutimos como criar uma conexão com o BD agora pra todos nos que estamos iniciando, como projetar as entradas e saidas do BD,em linguagens como DELPHI,VB E COMPANIA vc tinha lá um objeto TTable ou Recordset e vc ia adicionando,Alterando e Excluindo Registros e o Reflexo no BD era IMEDIATO.

E no JAVA como proceder ? bom eu executo um PrepareStatement com uma CONSULTA INCLUSÃO mais meu ResultSet não tem o reflexo da alteração no BD … e como faço pra navegar pelo RESULTSET para tras e para frente como no DELPHI,C,VB ???

Que maneira e melhor ? eu criar uma serie de objetos por exemplo clientes, coloca-los em um array e ir adicionando eles no meu BD.

Deem um luz aos que iniciam nessa jornada …

Valew t+

Olá!!!

Espero que logo logo tenha um artigo sobre isso no GUJ!!!

DEUS SEJA LOUVADO!

Se eu entendi direito a sua questão, você quer navegar pra frente e pra trás no recordset, é isso?

Uma das maneiras é armazenar limitar a consulta a um numero qualquer e armazenar este numero em uma sessão. depois voce pega esse numero e vai incrementando… estou dando uma luz apenas…

Uma outra opção é usar um bean que foi criado pela sun, chamado CachedRowSet. Como ele funciona? Bom, ele lê o seu recordset e armazena na memória, depois você navega nele. O problema neste caso é que se o RecordSet for muito grande, vai ocupar muita memória… mas se o banco de dados nao tiver muitos registros, é uma ótima opção. Você pode encontrar o CachedRowSet e instruções de como usa-lo no site da sun: www.java.sun.com/jdbc ou procure no site da sun por CachedRowSet.

Acredito que exista muitas outras formas de fazer isso, mas as que eu conheço e uso são essas. Se alguém souber de outra solução, por favor sinta-se a vontade para nos mostrar.

Espero ter ajudado.

DEUS SEJA LOUVADO!

Na minha mensagem acima, onde eu coloquei RecordSet, lê-se ResultSet.

Me desculpem pela falha.

Bom e CONSULTAS do tipo localizar um determinado registro dentro do RESULTSET ? Da pra incluir registros direto no RESULTSET ?

:shock:

A partir de JDBC 2.1, se não me engano, o ResultSet já reflete as operações sofridas automaticamente no banco. Não sei bem se é o próprio ResultSet ou alguma classe filha dele. No Core Java ou no livro de JDBC da O’Relly tem algo sobre isso. Quando eu confirmar, se ninguém já o tiver feiro, eu volto e respondo.

É o próprio ResultSet, na verdade a própria versão 2.0 da especificação já tem esses recursos, inclusive já existe um artigo sobre isto aqui no guj!

É isso mesmo. A partir da versão 2.0, métodos como updateXXX() e updateRow() foram adicionados. Procure na API javadoc que deve haver algo falando sobre isso. Ou leia no livro JDBC e Java da O REILLY

Onde está o ARTIGO ???

:smiley:

Valew …

Na página principal do GUj em “novidades”, chama-se
Scrollable e Updateable ResultSet

abraços!

Com o ResultSet em AutoCommit se eu executar consultas do tipo INCLUSSÃO,EXCLUSSÃO,ALTERAÇÃO com o PrepareStatement era será atualizado automaticamente ? Senão for como faço para atualiza-lo ?

Valew pelas respostas
t+
:smiley:

Sim, será!

Quando você invocar por exemplo
pstate.execute();

a instrução será executada imediatamente.!

Antes de mais nada FELIZ NATAL e um PROPERO ANO NOVO … :x-mas:

Legal então eu posso ter meu ResultSet mostrando resultados na tela e executar os comando de ALTERAÇÃO,INCLUSÃO e EXCLUÇÃO via PrepareStatement e nem Ficar esquentando pois ele automaticamente ira atualizar-se com as alterações executadas pelo outro comando, foi isso que eu ENTENDI, se foi blz … :wink:

Valew
t+

Qualquer dúvida, de uma olhada nos javadocs, eles explicam como funciona timtim por timtim :slight_smile:

Se quiser desabilitar o AutoCommit é só utilizar setAutoCommit(false).