Conexao com o banco de dados

1 resposta
B
Pessoal gostaria de saber se tem como eu numa aplicação web, eu fazer dois insert em tabelas diferentes. to fazendo uma aplicação em java, e num cadastro eu separei as tabelas, agora na hora que eu vou mandar cadastrar estar dando um erro... segue ai meu codigo....
<%@page import="java.sql.Driver"%>
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.ResultSet"%> 
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Inovatec</title>
</head>
<body>
<h3>Caracterização da Inovação Tecnológica</h3>

		<%
		   // try
		  //  {
			    
			Class.forName("org.postgresql.Driver");
			Connection con = DriverManager.getConnection("jdbc:postgresql://localhost/projetoWeb","postgres","postgres");
			Statement st = con.createStatement();
			
			ResultSet rs;
		 //   }
		 
		//   catch(ClassNotFoundException erroClass)
		//    {
		// 	out.println("ERRO AO CARREGAR AS CLASSES DO BANCO erro ="+erroClass);   
		//   }
		//    catch(SQLException erroSQL)
	  //  {
	 	//   out.println("ERRO AO TENTAR SE CONECTAR COM BANCO DE DADOS erro ="+erroSQL);
	  //  }
		
		if(request.getParameter("acao") == null)
		{// se nao tiver nenhuma ação ele ficar nessa mesma pagina
		%>  
		
				<form action="inovatec.jsp?acao=gravar" id="frmInovacao" method="post" name="frmInovacao">
				Titulo da Inovação * <input type="text" id="tit_inovacao" name="tit_inovacao"> <br>
				Memorial Descritivo <textarea name="mem_descritivo" id="mem_descritivo" cols="29" rows="4"  > </textarea><br>
				Início da inovação * <input type="text" id="ini_inovacao" name="ini_inovacao"><br>
				Término da inovacão *<input type="text" name="ter_inovacao" id="ter_inovacao"><br><br>
				
				
				Fase atual da inovação * <select name="fase_atual" id="fase_atual">
				
					 <%
						String sql="select * from caracterizacao_inovacao_fase";
						rs = st.executeQuery(sql);
						while(rs.next())
						{ %>
					
						<option><%=rs.getString("caract_fase_atual_inovacao") %></option>
					  <%  }
						
					   %>
					 		
				 </select><br> 
				Setor da aplicação * <select  name="setor_aplicacao" id="setor_aplicacao">
                <%
					String sql_aplicacao = "select * from caracterizacao_inovacao_setor_aplicacao order by caract_cod desc";
					rs = st.executeQuery(sql_aplicacao);
                	while(rs.next())
                	{ %>
                	
                	<option><%=rs.getString("caract_setor_aplicacao") %></option>
                	<% }
                
			    %>
                </select><br>
				<br>
				<br>
				Tipo Inovação <input type="text" name="tp_inovacao" id="tp_inovacao"><br>
				Produto precursor <input type="text" name="prod_precursor" id="prod_precursor"> <br>
				Ciclo de vida do Produto <input type="text" name="ciclo_vida_prod" id="ciclo_vida_prod"> <br>
				
				<br>
				<br>
				Associado a pesquisa ? 
				<select id="ass_pesquisa" name="ass_pesquisa">
				<%
				    String sql_associado = "select * from caracterizacao_inovacao_associacao order by caract_cod";
					rs = st.executeQuery(sql_associado);
					while(rs.next())
					{%>
					
					   <option><%=rs.getString("caract_ass_pesquisa") %> </option>
					<%}
				
				%>
				</select><br>
				
				
				Associado a desenvolvimento ?
				 <select id="ass_desenvolvimento" id="ass_desenvolvimento">
					 <%
					    String sql_desenvolvimento = "SELECT * FROM caracterizacao_inovacao_associacao order by caract_cod ";
					 	rs = st.executeQuery(sql_desenvolvimento);
					 	while(rs.next())
					 	{%>
					 	
					 	<option><%=rs.getString("caract_ass_desenvolvimento") %> </option>
					 	<%}
					 
					 %>
				 </select>
				<br>
				<br>
				
				<input type="submit" id="gravar" name="gravar" value ="Gravar">
				<input type="submit" id="proximo" name="proximo" value="Próximo"> 
				
		<%}
		   else
		   {
			   String sqlInseredados = ("insert into caracterizacao_inovacao(caract_title, caract_memorial, "+
		       "caract_ini_inovacao,caract_ter_inovacao)"+ 
		       "VALUES('"+request.getParameter("tit_inovacao")+"' "+ // essa aspa com o mais e concatenação para eu conseguir pular linha
		       "'"+request.getParameter("mem_descritivo")+"' "+
		       "'"+request.getParameter("ini_inovacao")+"' "+
		       "'"+request.getParameter("ter_inovacao")+"')");
			   
			   String sqlInseredados2 =("insert into caracterizacao_inovacao_tipo(caract_tipo_inovacao,caract_prod_precursor,caract_ciclo_vida_prod) "+
			   " VALUES('"+request.getParameter("tp_inovacao")+"', '"+request.getParameter("ciclo_vida_prod")+"')");
			   
			   
			   st.executeUpdate(sqlInseredados);
			   st.executeUpdate(sqlInseredados2); // esses valores do sqlinseredados2 e de outra tabela
			   
			   response.sendRedirect("indicadores.jsp");
			   
			   
		   }
		
		
		%>
		



</form>
</body>
</html>
deu o seguinte erro HTTP Status 404 - /ProjetoWeb/inovatec.jsp

type Status report

message /ProjetoWeb/inovatec.jsp

description The requested resource is not available.

Apache Tomcat/7.0.34

1 Resposta

jtiagoarruda

Tu esta usando o mesmo Statement para fazer duas operações diferentes. Uma dica importante evite usar scriptlet, isso deixa uma alto acoplamento em seu código e faz uma mistura de camadas o velho MVC.

Criado 12 de janeiro de 2013
Ultima resposta 12 de jan. de 2013
Respostas 1
Participantes 2