Pessoal, sou iniciante em java, e estou analisando um codigo que esta retornando uma msg de erro
Andei olhando umas documentacoes, mas parece que sai de um erro e cai em outro…
a linha é esta abaixo:
..
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery( "SELECT * FROM pedido ORDER BY id Desc LIMIT 1");
varPED=ObjRS.Fields("id");
ObjRS.Execute("Select * from fornecedores f, pedidos b, notafiscal c where a.id_fornecedor=b.id_fornecedor and b.id_pedidos=" & varPED ");
o erro é esse:
avax.servlet.ServletException:UnabletocompileclassforJSP:Anerroroccurredatline:51inthejspfile:/pedido/nota_fiscal.jspStringliteralisnotproperlyclosedbyadouble-quote48:ResultSetrs=stmt.executeQuery("select * FROM pedido ORDER BY id Desc LIMIT 1");49:50:varPED=ObjRS.Fields("id");51:ObjRS.Execute("Select * from fornecedores a, PEDIDOS b, notafiscal c where a.id_cliente=b.id_fornecedores and b.id_pedido="&varPED");52:53:54:
ObjRS.Execute(“Select * from CLIENTES a, PEDIDOS b, BOLETOS c where a.id_cliente=b.id_cliente and b.id_pedido=” + varPED );
A
andrests.sp
emanuel, blz?
Eu alterei o codigo pela linha que voce colocou e ele acusa o seguinte erro(no netbeans mesmo qdo deixo o mouse na linha)
unclosing string literal
na linha abaixo ele da o seguinte erro:
varPED=ObjRS.Fields("id");<---cannotfindsymbol
emmanuelrock
Posta o código do método por completo.
A
andrests.sp
…
<%@pageimport="com.teste.boleto.html.BoletoHTMLFormatter"%><%@pageimport="com.teste.boleto.BoletoFactory"%><%@pageimport="java.sql.DriverManager"%><%@pageimport="java.sql.Connection"%><%@pageimport="java.sql.Statement"%><%@pageimport="java.sql.ResultSet"%><%@pageimport="java.util.Date"%><%@tagliburi="http://myfaces.apache.org/tomahawk"prefix="t"%><%@pageimport="br.com.teste.ecommerce.helper.ResourceHelper"%><%Stringcaminho=ResourceHelper.getProperty(null,"testeCaminho");request.removeAttribute("caminho");request.setAttribute("caminho",caminho);%><%Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/notafiscal","adm-nota","");Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery("SELECT * FROM pedido ORDER BY id Desc LIMIT 1");varPED=ObjRS.Fields("id");ObjRS.Execute("Select * from fornecedores a, PEDIDOS b, notafiscal c where a.id_cliente=b.id_fornecedores and b.id_pedido="&varPED"); rs.next(); Double valor = new Double( rs.getDouble( "total_geral" ) ); Date vencimento = rs.getDate( "vencimento" ); Long nossoNum = new Long( rs.getLong( "nosso_numero" ) ); String nomeSac = rs.getString( "id_cliente" ); String enderecoSac = rs.getString( "entrega_endereco" ); String cepSac = rs.getString( "entrega_cep" ); String cidadeSac = rs.getString( "entrega_cidade" ); String estadoSac = rs.getString( "entrega_id_estado" ); rs.close(); stmt.close(); conn.close(); BoletoFactory factory = new BoletoFactory(); factory.setBanco( BoletoFactory.bancotesteL ); factory.setAgencia( "1111" ); factory.setCedente( "0011111" ); factory.setCarteira( "98" ); factory.setNossoNumero( nossoNum ); factory.setValor( valor ); factory.setVencimento( vencimento ); factory.setNumConvenio( "1111111" ); factory.setNomeCedente( "Empresatextil" ); factory.setLocalPagamento( "Pagávelemqualqueragênciabancáriaatéovencimento." ); factory.setNomeSac( nomeSac ); factory.setEnderecoSac( enderecoSac ); factory.setCepSac( cepSac ); factory.setCidadeSac( cidadeSac ); factory.setEstadoSac( estadoSac ); factory.setMensagem( 1, "Apósovencimento,entreemcontatocomnossacentraldeatendimento:[b]0800-00001[/b]." ); out.print( BoletoHTMLFormatter.asSlimWebPage( factory.createBoleto() ) );%>
Ai esta…
emmanuelrock
Faltou a declaração da variável varPED:
varPED=ObjRS.Fields("id");
A
andrests.sp
Entao
declarei a variavel e mesmo assim ocorre o mesmo erro;…
emmanuelrock
E o que seria a referência: ObjRS ??
A
andrests.sp
é uma funcao pra puxar o conteudo do recordset
emmanuelrock
Poste o código atualizado.
emmanuelrock
Olhando abaixo note que seu método Fields deve retornar um inteiro, já que vc irá compará-lo com o id_pedido através da variável varPED.
intvarPED=ObjRS.Fields("id");ObjRS.Execute("Select * from fornecedores a, PEDIDOS b, notafiscal c where a.id_cliente=b.id_fornecedores and b.id_pedido="+varPED);
A
andrests.sp
cara…valeu mesmo…ficou assim:
Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery("SELECT * FROM pedido ORDER BY id Desc LIMIT 1");intvarPED=ObjRS.Fields("id");ObjRS.Execute("Select * from fornecedores a, PEDIDOS b, notafiscal c where a.id_cliente=b.id_fornecedores and b.id_pedido="+varPED);
só ficou o erro do ObjRS, ele diz que nao reconhece esta funcao
Na real, é pra pegar os dados do pedido, do boleto e aplicar o select(pegando o registro corrente) mas ele em vez de retornar o registro com os dados ele retorna um monte de registro e em vez do nome do cliente, vem o ID dele