Uma ajudinha..por favor!

6 respostas
S

Pessoal,

Está tudo rodando perfeitamente…a inclusao, a exclusao e a listagem de clientes do programa abaixo…porém não imagino como fazer a alteração, pois é necessário trazer novamente todos os campo p que cada um esteja sujeito à alteração…como faço???

abaixo o código:

import javax.swing.;
import java.sql.
;

public class CaixaEletronico{

String cliente;

int valor;

ResultSet rs;

Statement sta;

SBanco banco;
public CaixaEletronico () {

try{

banco = new SBanco(jdbc:oracle:thin:@xxxxxxx:xxxx:xxxx,xxxxxxxxxx,xxxxx,xxxxxx);

banco.abre_banco();

}catch(Exception e){

}
}

public static void main (String args[]){

CaixaEletronico cxe = new CaixaEletronico();

String opcao="";

opcao=JOptionPane.showInputDialog (Escolha a opcao desejada (1) inserir (2) Alterar (3) Excluir (4) Listagem);

if (opcao.equals(“1”)){ //inserir
cxe.cadcliente(cxe);
}else if (opcao.equals(“2”)){ //alterar

}else if (opcao.equals(3)){ //excluir

cxe.excluiClente();

}else if (opcao.equals(4)){ //listagem

cxe.consultCliente();

}

}

public void consultCliente(){

try {
System.out.println(“Lista de Clientes”);

rs = banco.getsta().executeQuery("SELECT * FROM CLIENTE ");
while (rs.next()) {

System.out.println(Codigo:+rs.getInt(1));

System.out.println(Nome:+rs.getString(2));

System.out.println(Tel:+rs.getString(3));

System.out.println("-------------------------------------------");
}

rs.close();

}catch (Exception e) {

System.out.println("ERRO consulcliente "+e.getMessage());

}

}

public void cadcliente(CaixaEletronico cxe){

String cod="";

String nome;

String fone;
while (!cod.equals(0)){

cod = JOptionPane.showInputDialog ("Digite o código do Cliente: ");

if (!cod.equals(“0”)){

nome = JOptionPane.showInputDialog ("Digite o nome do Cliente: ");

fone = JOptionPane.showInputDialog ("Digite o telefone do Cliente: ");

cxe.inserCliente(cod,nome,fone);

}

}

}

public void alteraClente(){

}

public void excluiClente(){

String cod;

cod = JOptionPane.showInputDialog ("Código do Cliente que deseja EXCLUIR: ");

try{

banco.abre_statement("DELETE FROM CLIENTE WHERE codcli = "+cod);

}catch(Exception e){

System.out.println("ERRO excluirCliente "+e.getMessage());

}

}

public void inserCliente(String cod,String nome,String tel){

try{

banco.abre_statement(INSERT INTO cliente (CODCLI, NOMCLI, TELCLI) VALUES (+cod+ ,’”+nome+"’,’"+tel+"’)");

}catch(Exception e){

System.out.println("ERRO insercliente "+e.getMessage());

}
}

o método de alteração ainda está faltando…me ajudem!!!

mto obrigada!!!

6 Respostas

Roger75

Para fazer a alteração você tem que usar UPDATE na query, sendo que o código que irá passar como parâmetro é primary key (código que não se repete na tabela).

Pedrosa

A lógica é a mesma do delete, qual a dificuldade a query?

UPDATE CLIENTE SET NOMCLI, = ? TELCLI= ? WHERE CODCL = ?
S

Fiz este médoto…só q eu nao sei se tá certo e tem outro probleminha: eu preciso trazer todos os campos para colocar a disposição para as alterações…como eu faço isso? tenho q mostrar todos os campos p que o usuário altere o que ele quizer…valeuuuuuuuu pela ajuda

public void alteraClente(){

String cod2;

String nome = “”;

String tel ="";

cod2 = JOptionPane.showInputDialog ("Código do Cliente que deseja ALTERAR:   ");
try{
	
		banco.abre_statement("UPDATE CLIENTE SET NOMCLI, TELCLI WHERE CODCLI = "+cod2+ ",'"+nome+"','"+tel+"'");           
		
	}catch(Exception e){
    	System.out.println("ERRO alteraCliente "+e.getMessage());		
    	
     }
}
Pedrosa

Para alterar vc precisa pegar o cliente antes usando:

SELECT CAMPO1,CAMPO2,CAMPO3 FROM TABELA WHERE COD = XX
S

Eu já coloquei, mas eu nao estou sabendo alterar item a item…como faço???

public void alteraClente(){

String cod2;

String nome = “”;

String tel ="";

cod2 = JOptionPane.showInputDialog ("Código do Cliente que deseja ALTERAR:   ");
try{
		
		rs = banco.getsta().executeQuery("SELECT CODCLI, NOMCLI, TELCLI FROM cliente WHERE CODCLI ="+cod2);
		while (rs.next()) {
            
            System.out.println("Codigo:"+rs.getInt(1));
            System.out.println("Nome:"+rs.getString(2));
            System.out.println("Tel:"+rs.getString(3));
            System.out.println("-------------------------------------------");

        }
        rs.close();
        
		banco.abre_statement("UPDATE CLIENTE SET NOMCLI, TELCLI WHERE CODCLI = "+cod2+ ",'"+nome+"','"+tel+"'");           
		
	}catch(Exception e){
    	System.out.println("ERRO alteraCliente "+e.getMessage());		
    	
     }
}
Pedrosa

Tente fazer uma aplicação com um formulario assim fica mais facil de interagir, tente carregar os clientes em JTable,

None: [----------]
Telefone: [----------]

[incluir] [alterar] [excluir]


Nome | Telefone |

Joao | 9428-1565 |

Criado 6 de julho de 2006
Ultima resposta 6 de jul. de 2006
Respostas 6
Participantes 3