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