Pessoal, estou iniciando em java para web, e estou tendo dificuldade pra poder criar uma aplicaçao completa de um formulario com select, insert, update,delete, alguem teria
algum material com um passa a passo pra me fornecer? estou precisando muito ai galera se poderem me ajudar manda pro meu email shadowblink@gmail.com
cara criei um metodo pra poder fazer update no banco. mas n to conseguindo fazer o update da um erro de syntax. o metodo eh esse:
public UsuarioED alteraDados(UsuarioED usuarioED) throws SQLException {
//boolean alteraDados = false;
StringBuilder sql = new StringBuilder();
UsuarioED altera = new UsuarioED();
sql.append(“UPDATE usuarios (nm_usuario, nm_senha, nm_email) VALUES (”);
sql.append("’"+usuarioED.getNome()+"’, ‘"+usuarioED.getSenha()+"’ , ‘"+usuarioED.getEmail()+"’)");
this.executasql.executarUpdate(sql.toString());
return altera;
}
o erro eh esse:
org.postgresql.util.PSQLException: ERROR: syntax error at or near “VALUES”
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1512)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1297)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:437)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:339)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:285)
at com.master.util.bd.ExecutaSQL.executarUpdate(ExecutaSQL.java:136)
at com.master.bd.UsuarioBD.alteraDados(UsuarioBD.java:61)
at com.master.rn.UsuarioRN.alteraDados(UsuarioRN.java:105)
at org.apache.jsp.altera_005fdados_jsp._jspService(altera_005fdados_jsp.java:61)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Unknown Source)
25/08/2008 14:59:48 org.apache.catalina.core.StandardContext reload
cara usei o camando que vc fez e n deu certo, dae usei esse aqui oh: sql.append(“UPDATE usuarios set nm_usuario =’”+usuarioED.getNome()+"’,nm_email=’"+usuarioED.getEmail()+"’");
mas toda vez q eu mudo um nome no banco ele muda todos os outros, tipo eu to fazendo um jsp q recebe os valores de outro apartir desses valores eu modifico eles no banco.
Bom dia pessoal, bom estou com outro problema na minha aplicaçao, criei um metodo pra altera algo no banco , só que ele da um erro, parece que nao estou conseguinto passa o oid para o jsp para ele fazer a busca e altera apenas naquele oid, abaixo segue o metodo e meu jsp.
Metodo:
public UsuarioED alteraDados(HttpServletRequest request) {
this.inicioTransacao();
UsuarioED altera = new UsuarioED();
UsuarioED usuarioED = new UsuarioED();
UsuarioBD usuarioBD = new UsuarioBD(this.sql);
String nome = request.getParameter("nome");
String senha = request.getParameter("senha");
int oid = Integer.parseInt(request.getParameter("oid"));
String email = request.getParameter("email");
if (nome != null) {
usuarioED.setNome(nome);
} else {
usuarioED.setNome("");
}
if (senha != null) {
usuarioED.setSenha(senha);
} else {
usuarioED.setSenha("");
}
if (email != null) {
usuarioED.setEmail(email);
} else {
usuarioED.setEmail("");
}
if(oid > 0){
usuarioED.setOid(oid);
} else {
usuarioED.setOid(0);
}
try {
altera = usuarioBD.alteraDados(usuarioED);
} catch (SQLException e) {
e.printStackTrace();
}
this.fimTransacao(true);
return altera;
}
Cara, a princípio vc terá que criar um campo hidden no seu formulário, ele é invisível e guarda informações também. Com isto vc consegue pegar o id da mesma forma que vc pega o nome e o e-mail, ok?
cara muito boa dica essa de ver o codigo fonte na tela, bom segundo a sua dica realmente o hidden ta passando como null… mas tipo o meu JSP esta recebendo os valores de um outro JSP, estou passando ele assim:
<%=retorno.getNome() %>
n sei se posso fazer assim mas com o nome & email passou legal mas com o iteraçao do oid n deu certo ele seta como null