Duvida, sobre banco de dados

1 resposta
faicoxim

Pessoal, tenho uma pagina e ex: , 2 campos na minha pagina fazem acesso a banco de dados , fora da tabela, cada campo uma tabela
nas duas tabelas, eu tenho que carregar o drive e fazer a conexão com o banco, não tem como eu fazer isso uma vez só???

Ex: um lugar da minha pagina eu consulto o banco de cliente, ou lugar da minha pagina o consulto o banco de funcionarios

<body>
<div align="center"><strong>Cadastro de Clientes</strong>
</div>
<%
		Class.forName("org.postgresql.Driver");
		Connection con = DriverManager.getConnection("jdbc:postgresql://localhost/banco","admin","1234");
		Statement st = con.createStatement();
		ResultSet rs;						
		if (request.getParameter("acao") == null)
{	
	%>

<form id="fmInserirUsuario" name="fmInserirUsuario" method="post" action="cad_cliente.jsp?acao=gravar">
  <label>Código
  <input name="tfcodigo" type="text" id="tfcodigo" value="codigo_automatico" size="18" maxlength="18" disabled="disabled"/>
  </label>
  <p>
    <label>Nome do Cliente
    <input name="tf_usuario" type="text" id="tf_usuario" size="40" maxlength="40" />
    </label>
    <label></label>
  </p>
  <p>Endereço 
    <label>
    <input name="tf_endereco" type="text" id="tf_endereco" size="20" maxlength="20" />
    </label>
    <label>    <input type="text" name="tf_numero" id="tf_numero" />
    </label>
  </p>
  <p>
    <label>Bairro
    <input type="text" name="tf_bairro" id="tf_bairro" />
    </label>
  </p>
  <p>
    <label>Cidade
    <select name="tf_cidade" id="tf_cidade">
    <%
	
	String sql = "select * from cidade order by cid_nome";
	rs = st.executeQuery(sql);
	while(rs.next())
	{ %>	
		<option><%=rs.getString("cid_nome")%></option>
	<%}%>
    </select>
    </label>
  </p>
  <p>
    <label>RG
    <input type="text" name="tf_rg" id="tf_rg" />
    </label>
    <label>CPF
    <input type="text" name="tf_cpf" id="tf_cpf" />
    </label>
  </p>
  <p>
    <label>Data Nascimento
    <input type="text" name="tf_datanasc" id="tf_datanasc" />
    </label>
    <label>Data Cadastro
    <input type="text" name="tf_datacad" id="tf_datacad" />
    </label><label></label>
  </p>
  <p>
    <label>Fone Residencial
    <input type="text" name="tf_foneres" id="tf_foneres" />
    </label>
    <label>Fone Comercial
    <input type="text" name="tf_fonecom" id="tf_fonecom" />
    </label>
  </p>
  <p>
    <label>Email
    <input type="text" name="tf_email" id="tf_email" />
    </label>
    <label>
    
    Sexo - Masculino
    <input name="rb_sexo" type="radio" id="tf_sexo" value="M" checked="checked" />
    Feminino
    </label>
    <label>
    <input type="radio" name="rb_sexo" id="radio" value="F" />
    </label>
  </p>
  <p>
    <label>
    <input type="submit" name="gravar" id="gravar" value="OK" />
    </label>
    <label>
    <input type="reset" name="limpar" id="limpar" value="Limpar" />
    </label>
  </p>
</form>
<%}
	else
	{
	 	if((request.getParameter("tf_usuario").length() <= 0) || (request.getParameter("tf_endereco").length() <= 0) || (request.getParameter("tf_numero").length() <= 0))
		{
			out.println("Voce deve preencher todos os campos");
			response.sendRedirect("cad_cliente.jsp");
		}
		else
		{
		
		try
    	{
		Class.forName("org.postgresql.Driver");
		Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost/banco","admin","1234");
		Statement sta = con.createStatement();
		
		sta.executeUpdate("insert into cliente (cli_nome, cli_endereco, cli_numero, cli_bairro, 					        cli_cidade, cli_rg, cli_cpf, cli_datanascimento, cli_datacad, cli_foneres, cli_fonecom,        cli_email, cli_sexo) values ('"+request.getParameter("tf_usuario")+"','"+request.getParameter("tf_endereco")+"','"+request.getParameter("tf_numero")+"','"+request.getParameter("tf_bairro")+"','"+request.getParameter("tf_cidade")+"','"+request.getParameter("tf_rg")+"','"+request.getParameter("tf_cpf")+"','"+request.getParameter("tf_datanasc")+"','"+request.getParameter("tf_datacad")+"','"+request.getParameter("tf_foneres")+"','"+request.getParameter("tf_fonecom")+"','"+request.getParameter("tf_email")+"','"+request.getParameter("rb_sexo")+"')");
		//voltar para a pagina de usuarios
		//response.sendRedirect -- redireciona uma nova localização
		response.sendRedirect("cliente.jsp");
		
		
		ResultSet rss = null;
		}
		catch(ClassNotFoundException erroClass)
    	{
    		out.println("Classe Drive JDBC não foi localizada" + erroClass);
    	}
    	catch(SQLException erroSQL)
    	{
   			out.println("Erro de conexão com o banco" + erroSQL);
    	}
		
		}
	
		}	
	%>
<p>&nbsp;</p>
</body>
</html>

Pessoal esse meu código acima esta escrito de forma correta???

1 Resposta

B

Não… Fazer conexão com banco de dados não é de responsabilidade de uma página jsp…Procure pelo
padrão MVC e delegue este serviço para uma classe do seu model…

Criado 26 de março de 2010
Ultima resposta 26 de mar. de 2010
Respostas 1
Participantes 2