Erros de sintaxe - pedindo para inserir chave onde não faz sentido!

2 respostas
bgomes06

Caros, boa noite,

Estou quebrando a cabeça a algumas horas com duas falhas. Segue o código abaixo:

public class Query {

	public void criaConexao(){
		//Abre conexão
		Conexao.getConnection();
		System.out.println(Conexao.status);
		Connection con = Conexao.getConnection();
		Statement st = con.createStatement();
		}

		Connection con = Conexao.getConnection();
		Statement st = con.createStatement();
		
		//Variáveis do sistema
		String qdb="";
		String q="";
		String sl="";
		String table="alunos";
		String idaluno="";
		String curso="";
		String preco="";
		String opc="1";
		String opc2="";
		String colref="";
		String value="";
		String refprim="";
		boolean qry=false;
		
		//Cria objetos
		AcessoBD abd = new AcessoBD();
		
		public void criaTabela(){
		//Checa se existe DB. Se não existir, cria.
		DatabaseMetaData dbm = con.getMetaData();
		ResultSet tables = dbm.getTables(null, null, "alunos", null);
		if (tables.next()) {
			System.out.println("Tabela \"Cursos\" já existe!");
		}
		else {
			CreateTableCursos ct = new CreateTableCursos();
			qdb=ct.newTable(qdb);
			try {
				st.executeUpdate(qdb);
				System.out.println("Tabela Cursos criada!");				
			} catch (SQLException e) {
				e.printStackTrace();
				System.out.println("Tabela Cursos já existe!");
			}
		}
		}
		//Fim cria novo BD
		
		//Início Alteração Tabel
		public String bdIncluir(String curso, String preco){
			
			q=abd.incluir(curso, preco);
		}
		public String bdAlterar(String valcodigo, String valcurso, String valpreco, String refprim){
			
			q=abd.alterar(valcodigo, valcurso, valpreco, refprim);
			
		}
		public String bdExcluir(String codigo){
			q=abd.excluir(codigo);
		}
		
		if (!qry){
		try {
			st.executeUpdate(q);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		}
}

Erros:

Linha 65: Syntax error on token “}”, { expected after this token
Linha 74: Syntax error, insert “}” to complete ClassBody

Na linha 74 eu até posso colocar outra chave, o erro some, mas não faz o menor sentido, em vista que a chave da linha 74 é conjunto da primeira linha, e fecha a classe Query!
A 65 eu entendi menos ainda, alguém poderia esclarecer se possível? Não roda a minha aplicação nem rezando.

Valeu!

2 Respostas

rnldfll
public class Query {  
  
    public void criaConexao(){  
        //Abre conexão  
        Conexao.getConnection();  
        System.out.println(Conexao.status);  
        Connection con = Conexao.getConnection();  
        Statement st = con.createStatement();  
        }  
  
        Connection con = Conexao.getConnection();  
        Statement st = con.createStatement();  
          
        //Variáveis do sistema  
        String qdb="";  
        String q="";  
        String sl="";  
        String table="alunos";  
        String idaluno="";  
        String curso="";  
        String preco="";  
        String opc="1";  
        String opc2="";  
        String colref="";  
        String value="";  
        String refprim="";  
        boolean qry=false;  
          
        //Cria objetos  
        AcessoBD abd = new AcessoBD();  
          
        public void criaTabela(){  
	        //Checa se existe DB. Se não existir, cria.  
	        DatabaseMetaData dbm = con.getMetaData();  
	        ResultSet tables = dbm.getTables(null, null, "alunos", null);  
	        if (tables.next()) {  
	            System.out.println("Tabela \"Cursos\" já existe!");  
	        }  
	        else {  
	            CreateTableCursos ct = new CreateTableCursos();  
	            qdb=ct.newTable(qdb);  
	            try {  
	                st.executeUpdate(qdb);  
	                System.out.println("Tabela Cursos criada!");                  
	            } catch (SQLException e) {  
	                e.printStackTrace();  
	                System.out.println("Tabela Cursos já existe!");  
	            }  
	        }  
        }  
        //Fim cria novo BD  
          
        //Início Alteração Tabel  
        public String bdIncluir(String curso, String preco){  
              
            q=abd.incluir(curso, preco);  
        }  
        public String bdAlterar(String valcodigo, String valcurso, String valpreco, String refprim){  
              
            q=abd.alterar(valcodigo, valcurso, valpreco, refprim);  
              
        }  
        public String bdExcluir(String codigo){  
            q=abd.excluir(codigo);  
        }  
        
        //Esse if tem que estar dentro de algum bloco.
        if (!qry){  
        	try {  
        		st.executeUpdate(q);  
        	} catch (SQLException e) {  
        		e.printStackTrace();  
        	}  
        }


}

o if deve estar em algum metodo ou dentro de um bloco main, não pode estar na classe diretamente. Espero q tenha entendido

bgomes06

Obrigado pela resposta rnldfll! Modifiquei as chamadas e a falha migrou, mas já não é essa, então abrirei outro tópico. Valeu!

Criado 9 de março de 2013
Ultima resposta 14 de mar. de 2013
Respostas 2
Participantes 2