Delete com dado do usuário

Galera preciso receber uma informação do usuário e dessa informação apagar na ta bela do meu jdbc como faço isso :???

isso aqui vai te ajudar e vai te ajudar a fazer mais coisas ainda:
https://www.caelum.com.br/apostila-java-web/bancos-de-dados-e-jdbc/

Você precisa nos fornecer mais informações (nos ajude a te ajudar horas… :joy:)

Qual seu tipo de sistema, web, desktop?

Se desktop está usando Interface Gráfica (Swing, Awt, SWT, JavaFX) ou console?

Então estou usuando desktop e desenvolvendo no eclipse, utilizando JDBC DAO eu preciso o seguinte:
Meu proograma ter um metodo deletar uma informação da tabela lembrando que deletar todas as outras associada a ela, por exmplo :
Digite o apelido do clube que quer excluir:
usuario digita
(pego a informação)
Deletar na tabela
mas não achei nada parecido pois os exemplos que achei foi com a informação passada na query do sql exmplo
Delet from clube where tipo=‘1’ por exemplo só que no caso eu preciso da informação do usuário e não definir “manualmente”

Sim ja dei uma olhada mas ele estabelece a condição “manualmente” w eu preciso que condição seja informada pelo usuário
Mesmo assi Obrigada !!!

Você disse desktop, mas não especifiou se tem interface ou não, mas enfim, a forma mais básica de pegar algo do usuário é pela classe Scanner…

Scanner entrada = new Scanner(System.in);

System.out.println("Informe o tipo para deletar: ");
int tipo = entrada.nextInt();

// pronto o tipo você tem, agora precisa passar para o seu DAO
1 curtida

Sim da scanner eu to sabendo porque pra inserção utilizei ela o meu problema é jogar essa informação na SQL:

public void adiciona(Titulos titulo) {

	String sql = "insert into TITULO  " +

			"(NOME,TIPO, SERIE,ANO)" + " values (?,?,?,?)";
	try {

		PreparedStatement stmt = connection.prepareStatement(sql);

		stmt.setString(1, titulo.getNome());
		stmt.setString(2, titulo.getTipo());
		stmt.setString(3, titulo.getSerie());
		stmt.setInt(4, titulo.getAno());
		stmt.executeUpdate();

		stmt.close();

	} catch (SQLException e) 

esse eh pra inserir e pra deletar quais são os parâmetros que devo passar no where para que a condição seja a informada pelo usuário?

1 curtida

Bom, fiquei meio perdido, vc falou que pega do scanner, mas o problema é colocar na query, mas o código q vc passou já está colocando na query.
Agora o where vc poderia por exemplo o usuario informa o id e vc faz: where id = ?
ou pode ser por nome, o usuario informa o nome que ele quer editar (Não é muito bom pq pode ter pessoas com nomes iguais) where nome = ?

Sim , mas no meu caso é apelido de clube então não tem problema vou testar aki o GUJ ta me ajudando mais do que minha equipe de trabalho rsss obrigada

De nada, se ficar em dúvida a forma é essa aqui da query:

insert into TITULO (nome,tipo,serie,ano) values (?,?,?,?) where nome = ?

ai no code é só acrescentar o:

stmt.setString(5, nome_informado_pelo_usuario);

Sim a parte de inseri ja está concluída o problema é a deleção

qual problema vc enfrenta para deletar?

O delete não muda muito do insert…

String sql = "delete from titulo where tipo=?";
try {
    PreparedStatement stmt = connection.prepareStatement(sql);
    stmt.setInt(1, titulo.getTipo());
    stmt.executeUpdate();
    stmt.close();
} catch (SQLException e)

E no caso para passar o tipo resgatado do usuário, precisaria usar o setTipo por exemplo antes de passar ao DAO…

Clareou mais as idéias?

1 curtida

Consegu reslover deu tdo certo obrigada pela ajuda ficou assim no main ()
case 3:
System.out.println(“Digite o apelido do clube para excluir”);
cb.setApelido(input.nextLine());
System.out.printf(“Deseja excluir o clube de apelido “+cb.getApelido()+”?”+
"\nPara Sim digite :1 para não Digite:0 \n ");
int excluir =(input.nextInt());
if(excluir==1){
bd.deletar(cb);
System.out.println(“Clube excluído”);
}

		break;

Ja na classe CRUD o metodo deletar ficou :smile:
public void deletar(Clube apelido){
String sql = (" delete from CLUBE where APELIDO = ? " );

	 try {

         PreparedStatement stmt = connection.prepareStatement(sql);

         stmt.setString(1,apelido.getApelido());

         stmt.execute();

         stmt.close();

     } catch (SQLException e) {

         throw new RuntimeException(e);

     }
1 curtida

Muito bom, fico feliz :slight_smile: