Dúvida

Olá…
Qual seria a melhor alternativa para realizar esse servlet…
eu quero que de acordo com a opção escolhida ele execute determinado sql…
Por exemplo : clicou em inserir ele realiza o sql de insert…

[code]import java.io.;
import java.util.
;
import java.sql.;
import javax.servlet.
;
import javax.servlet.http.*;

public class TltSrv003Areas extends HttpServlet
{
private final static String Drv = "org.gjt.mm.mysql.Driver";
private final static String End_Banco = "jdbc:mysql://127.0.0.1:3306/talentos";
private Statement Stm_Aux = null;
private Connection Con_Banco = null;

protected void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException 
{                        
 String msg_sucesso   = null;            
 String pr_idt        = (String) request.getAttribute("Edtidt");
 String pr_descricao  = (String) request.getAttribute("Edtdescricao");
 String pr_estado     = (String) request.getAttribute("Edtestado");
                 
 Prc_MontarCodSql();


 try
 {
   try
      {                
         Class.forName(Drv);
         Con_Banco    = DriverManager.getConnection(End_Banco);
         Stm_Aux      = Con_Banco.createStatement();            
         int Cod_Retorno = 1;//  = Stm_Aux.executeUpdate();
         if (Cod_Retorno == 1) {                             
            System.out.println("<B>" + "Sucesso ao efetuar inclusão." + "</B><BR>");
         }     
      }     
      catch (ClassNotFoundException e) 
      {                 
      System.out.println("<B>" + "Erro ao efetuar inclusão." + "</B><BR>");            
         
      System.out.println("Driver não encontrado ou não existe."); 
      }
 }                  
 catch (SQLException e) 
 { 
    System.out.println("Driver não está Funcionando.");    
 } 
      
}


     private void Prc_MontarCodSql()  
     {                   
        String cod_sql_insert   = "INSERT INTO AREAS(descricao) VALUES('"+ pr_descricao +"')";
        String cod_sql_delete   = "DELETE FROM AREAS WHERE IDT =" + pr_idt;
        String cod_sql_update   = "UPDATE AREAS SET DESCRICAO  = '"+pr_descricao+"'WHERE IDT  =  "+pr_idt; 
     }

}[/code]

Obrigado… :roll: [/url]

JavaPlayer

Não sei bem se está é sua dúvida, mas ai vai duas dicas:
[color=“darkblue”]
Utilizando um parâmetro do tipo String (lembrando que no switch deve ser usuado uma String de 1 posição Ex. char) para cada uma das letras.

[code]private void Prc_MontarCodSql(String tipoSolicitacao)
{
switch(tipoSolicitacao) {
case “I”: String cod_sql_insert = “INSERT INTO AREAS(descricao) VALUES(’”+ pr_descricao +"’)";break;
case “U”: String cod_sql_delete = “DELETE FROM AREAS WHERE IDT =” + pr_idt;break;
default: String cod_sql_update = “UPDATE AREAS SET DESCRICAO = '”+pr_descricao+"'WHERE IDT = "+pr_idt;
}

} [/code][/color]
– Ou –
[color=“green”]
Utilize um parâmetro do tipo Inteiro onde cada número significa uma tipo de solicitação.

[code]private void Prc_MontarCodSql(int tipoSolicitacao)
{
switch(tipoSolicitacao) {
case 1: String cod_sql_insert = “INSERT INTO AREAS(descricao) VALUES(’”+ pr_descricao +"’)";break;
case 2: String cod_sql_delete = “DELETE FROM AREAS WHERE IDT =” + pr_idt;break;
default: String cod_sql_update = “UPDATE AREAS SET DESCRICAO = '”+pr_descricao+"'WHERE IDT = "+pr_idt;
}

} [/code][/color]
Espero que tenha te auxiliado, caso seja isso que você queria.

Muito Obrigado pela sua ajuda… já me clareou outras dúvidas
mas eu preciso que o montarsql seja uma procedure e o executarsql seja outras procedure:

montar sql:

private void Prc_MontarCodSql() { String cod_sql_insert = "INSERT INTO AREAS(descricao) VALUES('"+ pr_descricao +"')"; String cod_sql_delete = "DELETE FROM AREAS WHERE IDT =" + pr_idt; String cod_sql_update = "UPDATE AREAS SET DESCRICAO = '"+pr_descricao+"'WHERE IDT = "+pr_idt; }

executar sql:

private void Prc_ExecutarSql(String cod_sql) { if (pr_estado == "I") { int Cod_Retorno = Stm_Aux.executeUpdate(cod_sql_insert); if (Cod_Retorno == 1) { System.out.println("<B>" + "Sucesso ao efetuar inclusão." + "</B><BR>"); } } }

JavaPlayer

Não sei se é bem isso que você quer, mas ai vai:

Você pode criar o exemplo de método que eu te passei para montar o SQL e dentro dele mesmo você pode chamar o método que executa o SQL, ou seja:

private void Prc_MontarCodSql(String tipoSolicitacao)  
{                    
    switch(tipoSolicitacao) { 
        case "I": String cod_sql   = "INSERT INTO AREAS(descricao) VALUES('"+ pr_descricao +"')";break; 
        case "U": String cod_sql   = "DELETE FROM AREAS WHERE IDT =" + pr_idt;break; 
        default: String cod_sql   = "UPDATE AREAS SET DESCRICAO  = '"+pr_descricao+"'WHERE IDT  =  "+pr_idt; 
    }
   Prc_ExecutarSql(cod_sql);

}

Depois executa o método responsável por executar o SQL:

private void Prc_ExecutarSql(String cod_sql) 
{ 
   int Cod_Retorno = Stm_Aux.executeUpdate(cod_sql_insert); 
   if (Cod_Retorno == 1) 
   {                              
     System.out.println("<B>" + "Sucesso ao efetuar inclusão." + "</B><BR>"); 
    } 
} 

Até mais