Erro na variável de conexão

2 respostas
alexandremanowar

E ae pessoal

Eu fiz uma conexão da seguinte forma:

/*
 * DAO_usuario.java
 *
 * Created on 22 de Maio de 2007, 21:44
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package DAO;

import java.io.*;
import java.net.*;
import java.util.*;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

import conexao.Conexao;

/**
 *
 * @author alexandre
 */
public class DAO_usuario 
{
    
    public String usuario;
    public String senha;
    public String consulta;
    public String logado;
    
    public DAO_usuario() 
    {
        
    }
    
    public void DAO_dados(String getUsuario, String getSenha)
    {
       try 
        {
            Connection conn = Conexao.connect(); 
            Statement sql = conn.createStatement();
            
            usuario = getUsuario; 
            senha = getSenha;
       
            consulta = "select * from senhadeals where senha='"+senha+"' and usuario='"+usuario+"' limit 1  ";
       
            ResultSet rs = sql.executeQuery(consulta);
            
            while(rs.next())
            {
                logado = rs.getString("nome");
            }
        } 
        catch (IOException ex) 
        {
            ex.printStackTrace();
        }
        catch (SQLException ex) 
        {
            ex.printStackTrace();
        } 
        
        
       
    }
    
    public String setLogado()
    {
        return logado;
    }
    
    
}
Dessa forma funcionou mas a conexão fica apenas, dentro de do bloco:

[b]

public void DAO_dados(String getUsuario, String getSenha)

{

}
[/b]

Aí andei estudando e fiz a conexão pública dessa forma:

/*
 * DAO_usuario.java
 *
 * Created on 22 de Maio de 2007, 21:44
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package DAO;

import java.io.*;
import java.net.*;
import java.util.*;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

import conexao.Conexao;

/**
 *
 * @author alexandre
 */
public class DAO_usuario 
{
    
    public String usuario;
    public String senha;
    public String consulta;
    public String logado;
    
    public DAO_usuario() 
    {
        
    }
    
    public Connection getConnection() 
    {
        Connection conn = Conexao.connect(); 
        Statement sql = conn.createStatement();
    }

    
    public void DAO_dados(String getUsuario, String getSenha)
    {
       try 
        {
            
            
            usuario = getUsuario; 
            senha = getSenha;
       
            consulta = "select * from senhadeals where senha='"+senha+"' and usuario='"+usuario+"' limit 1  ";
       
            ResultSet rs = sql.executeQuery(consulta);
            
            while(rs.next())
            {
                logado = rs.getString("nome");
            }
        } 
        catch (IOException ex) 
        {
            ex.printStackTrace();
        }
        catch (SQLException ex) 
        {
            ex.printStackTrace();
        } 
        
        
       
    }
    
    public String setLogado()
    {
        return logado;
    }
    
    
}

Porém esta dando erro nessa variável:

cannot find symbol
symbol: variable sql

que fica nessa linha:
ResultSet rs = sql.executeQuery(consulta);
O problema esta na declaração da variável sql, onde eu devo declarar ela?

2 Respostas

L

Vc deve declarar a variavle dentro da classe
String sql;

package testedeconexao;

/** * * @author godoy */

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class ConexaoG {

static final String JDBC_DRIVER = org.postgresql.Driver;

static final String DATABASE_URL = jdbc:postgresql://localhost:5432/Bordado”;

[size=18][color=red] String  sql  ;[/color][/size]    Connection con;

public ConexaoG() {

try {

Class.forName( JDBC_DRIVER );

con =DriverManager.getConnection( DATABASE_URL, postgres, 512815 );

}

catch (SQLException sqlException) {

sqlException.printStackTrace();

System.exit( 1 );

}

catch (ClassNotFoundException classNotFound) {

classNotFound.printStackTrace();

} finally

{

try {

con.close();

} // fim do try

catch ( Exception exception ) {

exception.printStackTrace();

System.exit( 1 );

} // fim do catch

} // fim do finally

}

}
ramilani12

Qndo vc declara uma variavel dentro de um metodo ela so fica visivel dentro do metodo

A solução é declarar fora como atributo

Criado 29 de maio de 2007
Ultima resposta 29 de mai. de 2007
Respostas 2
Participantes 3