Galera! Pq está dando erro? Me ajudem! [RESOLVIDO]

13 respostas
renatac

Oi pessoal,

Usei o Eclipse para fazer uma conection com o Banco de dados MySql, blzinha... até ai tudo bem! Criei metodos de inserir, alterar... Mas o Delete não esta dando certo... Alguem pode me ajudar??? :cry:

Pra quem for me ajudar... explica direitinho pois sou iniciante por favor...!!

Segue o código...

package com.yourcompany.struts;


import java.sql.*;



public class Banco {
private Connection conn;
	
	public Banco() {
		try{
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection("jdbc:mysql://localhost/test?user=teste&password=teste");  
			
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	public void selecionar() {
	
		try{
			Statement stmt = conn.createStatement();
			
			ResultSet res = stmt.executeQuery("select * from formulario");
			
			
			while (res.next()){
				
			
					System.out.println(res.getInt("id"));
					System.out.println(res.getString("PRIMEIRO_NOME"));
					System.out.println(res.getString("ULTIMO_NOME"));
					System.out.println(res.getString("IDADE"));	
					System.out.println(res.getString("SEXO"));
					System.out.println(res.getString("PROFISSAO"));	
					System.out.println(res.getString("ENDERECO"));	
					System.out.println(res.getString("BAIRRO"));
					System.out.println("-----------------");
			}	
			
			res.close();
			stmt.close();
				
			}catch(SQLException sqle){
			sqle.printStackTrace();
		}
	}
	
	public void inserir(){
	try {
		Statement stmt = conn.createStatement();
		stmt.executeUpdate("insert formulario values (null, 'Roberta', 'Benedita', '24', 'F', 'ESTUDANTE', 'MARQUES DE MURITIBA', 'JACANA')");
		stmt.close();
		
	}catch (SQLException sqle){
		sqle.printStackTrace();
	}
}
	
	public void alterar(){
		try{
			Statement stmt = conn.createStatement();
			
			stmt.executeUpdate("update formulario set PRIMEIRO_NOME = 'Fulano' where id=3");
			
			stmt.close();
		}catch (SQLException e){
			e.printStackTrace();
		}
	}
	
	/*public void excluir(){
		try{
			Statement stmt = conn.createStatement();
			
			stmt.executeUpdate("delete set PROFISSAO = 'null' where id=2");
			stmt.close();
		}catch (SQLException e){
			e.printStackTrace();
		}
	}
	*/
	
		public static void main(String[] args) {
			
			Banco banco = new Banco();
			
			//banco.inserir();
			//banco.alterar();
			banco.selecionar();
					
			
	}

}

O metodo que está comentado é o que eu não consegui rodar....

Brigadao!!!

13 Respostas

T

Você precisa de umas aulinhas de SQL…

delete from nome_da_tabela where condicao

http://dev.mysql.com/doc/refman/4.1/en/delete.html

esb

A sintaxe do seu comando SQL está incorreta. Use:

delete from TABELA where CONDICAO

[]s
Eduardo

ateubh

da proxima vez coloca um titulo mais sugestivo para sua dúvida, ok? :wink:

renatac

Obrigada para os que foram simpaticos!

*Pra quem for me ajudar… explica direitinho pois sou iniciante por favor…!! *

renatac

Eu fiz isso… só que dá o seguinte erro…

java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id=3' at line 1 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695) at com.mysql.jdbc.Connection.execSQL(Connection.java:2998) at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1071) at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1005) at com.yourcompany.struts.Banco.excluir(Banco.java:78) at com.yourcompany.struts.Banco.main(Banco.java:93)

esb

Oi Renata,
Posta o comando SQL que você utilizou agora.

[]s

ateubh

coloca um System.out.println( seuSql ) para a gente ver sua sintaxe

akumaldo

renatac:
Eu fiz isso… só que dá o seguinte erro…

java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id=3' at line 1 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695) at com.mysql.jdbc.Connection.execSQL(Connection.java:2998) at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1071) at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1005) at com.yourcompany.struts.Banco.excluir(Banco.java:78) at com.yourcompany.struts.Banco.main(Banco.java:93)

O proprio console está falando para você o problema…ele está dizendo que está com um problema na sua sintaxe de SQL, ou seja você esta digitando alguma coisinha estranha…posta o seu código SQL usado… :slight_smile:

renatac

Ae pessoal eu to fazendo assim:

("delete from formulario where id = 3" );

para deletar da tabela formulario onde id = 3

renatac
public void excluir(){
		try{
			Statement stmt = conn.createStatement();
			
			stmt.executeUpdate("delete from formulario, WHERE id = 3" );
			
			stmt.close();
		}catch (SQLException e){
			e.printStackTrace();
		}
renatac

Ae galeraaaa Funcionou era só a virgula que nao estava deixando!!!

Obrigada ai pessoal!!!

F

Renata, seu SQL para exclusão está errado, nem se fosse update funcionaria pois nem o nome da tabela onde quer fazer a operação vc informa.
:slight_smile:

renatac

o nome da minha tabela se chama formulario, eu fiz o código e deu certo aqui… era só a virgula antes do WHERE que não estava deixando ele deletar o ID numero 3… mas já deu certo aqui… obrigada!!

Criado 19 de julho de 2006
Ultima resposta 19 de jul. de 2006
Respostas 13
Participantes 6