estou fazendo um processo para acessa meu banco de dados na 2 linha crio a string com nome de sqlinsert e atribuo o valor a ela mas na linha 5 em executeUpdate(sqlinsert); fik sublinhado e do lado na lampada fala isso variable sqlinsert might not have been initialized. algueim pode me da uma dica? fikei onteim ate 3 da manha pra tentar resolve isso e nada ;~~
Se vc prestar atenção na instrução que atribui o valor pra sqlinsert ela não tem ;.
Finalize ela antes de usar.
marcosharbs
primeiro que nem o amigo acima disse vc não terminou a linha de declaração da variavel.
segundo cuide com suas aspas vc está formatando essa string de insert de forma errada, ele nao vai inserir
terceiro não se aconselha a usar insert dessa maniera de uma olhada nesse codigo:
try{//con = Conexao.obterConexao(); PreparedStatementpst=con.prepareStatement("insert into item_pedido values (s_itempedido.nextval,?,?,?,?)");pst.setInt(1,itempedido.getQuantidade());pst.setDouble(2,itempedido.getPrecoUnitario());pst.setString(3,itempedido.getItem().getCodigo());pst.setLong(4,generic.getNumeroPedido());pst.execute();}catch(SQLExceptione){//con.rollback();throwe;}}
vc pode notar que ele usa um PreparedStatement, dai vc pode passar parametros, cada ? é um parametro, dessa maneira vc evita o sql inject.
vlww!
ken420
CONTINUO COM PROBLEMAS ESSE COMANDO EU DEI NO ACTION PERFORMED DO MEU BOTAO CADASTRO AI EM BAIXO ESTA O CODIGO INTEIRO MAS AGORA N TEM AQUELE ERRO SQL MAS ELE N SALVA NO BANCO DE DADOS
//atualizando o ResultSetcon_cadastro.resultset=con_cadastro.statement.executeQuery("select * from Biblioteca");con_cadastro.resultset.first();mostra_dados();}
tenat botar esse trecho no lugar ali do sqlinsert:
Stringsqlinsert="insert into Biblioteca (Livro) values ('"+tf_Livro.getText()+"')";
vc boto aspas simples no começo mas não fexou ela e nem o parenteses, lembrando que esta forma não é a recomendada, o certo seria vc usar algo como:
PreparedStatementpst=con.prepareStatement("insert into item_pedido values (s_itempedido.nextval,?,?,?,?)");pst.setInt(1,itempedido.getQuantidade());pst.setDouble(2,itempedido.getPrecoUnitario());pst.setString(3,itempedido.getItem().getCodigo());pst.setLong(4,generic.getNumeroPedido());
assim vc usa um PreparedStatement e passa parametros, é mais seguro.
agora quando tento conectar ao banco de dados ele da um erro e fala q o estado do cursor ta invalido [Microsoft][ODBC Driver Manager] Estado de cursor invalido http://img528.imageshack.us/my.php?image=bdjz4.jpg
ai esta a foto do banco de dados q criei no access para treinar eu tenhu 3 campo de texto no meu programa e quero cadastrar esses 3 camposno meu banco de dados so q no access n posso dexa em branco tenhu q inserir algo no primeiro campo ex LIVRO + ta dando esse erro ao tentar gravar o registro quando tento gravar =[