Ajuuda para acessar o banco de dados

8 respostas
G

boa tarde gente eu estou com um probleminha para mandar as informaçoes como elas deveriam chegar de fato estou tentando concatenar aspas mas nao estou conseguindo se alguem puder me ajudar

o padrao que deveria chegar eh assim

Connection con = DriverManager.getConnection("jdbc:oracle:thin:@host:port:xe", "login", "senha");

e eu nao estou conseguindo fazer isso dessa forma

Connection con = DriverManager.getConnection ("jdbc:oracle:thin:@"+e.getHost()+":"+ e.getPort()+":xe"+","+e.getLogin()+","+e.getSenha());

8 Respostas

rafaelglauber

guialeixo:
boa tarde gente eu estou com um probleminha para mandar as informaçoes como elas deveriam chegar de fato estou tentando concatenar aspas mas nao estou conseguindo se alguem puder me ajudar

o padrao que deveria chegar eh assim

Connection con = DriverManager.getConnection("jdbc:oracle:thin:@host:port:xe", "login", "senha");

e eu nao estou conseguindo fazer isso dessa forma

Connection con = DriverManager.getConnection ("jdbc:oracle:thin:@"+e.getHost()+":"+ e.getPort()+":xe"+","+e.getLogin()+","+e.getSenha());

o correto seria:

Connection con = DriverManager.getConnection ("jdbc:oracle:thin:@"+e.getHost()+":"+ e.getPort()+":xe" , e.getLogin(), e.getSenha());

as virgulas são para separar os argumentos do método.

G

11/09/2009 11:22:56 oracle.model.EntradaFrame jButtonEntrarActionPerformed SEVERE: null java.sql.SQLException: argumentos inválidos na chamada at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:236) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at oracle.dao.EntradaDao.getConexao(EntradaDao.java:15) at oracle.model.EntradaFrame.jButtonEntrarActionPerformed(EntradaFrame.java:155) at oracle.model.EntradaFrame.access$000(EntradaFrame.java:24) at oracle.model.EntradaFrame$1.actionPerformed(EntradaFrame.java:66) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6263) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6028) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2475) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) CONSTRUÍDO COM SUCESSO (tempo total: 43 segundos)

continua dando erro =(

rafaelglauber

Oi,

você já utilizou o debug, verificou os valores que estão sendo passados para o método?

G
Ja sim realmente eu estava errando esta passando valores nulls, como eu faço para poder pegar na classe de conexao do banco valores reais? pois se nao eu terei que validar todos as conexoes e eu nao faço a minima ideia do que faço alguem poderia me ajudar?
public class EntradaDao {
    public Connection getConexao(Entrada ent) throws SQLException
    {
        DriverManager.registerDriver(new OracleDriver());
      //  Connection con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.117:1521:xe", "login, "senha");
        Connection con = DriverManager.getConnection
               ("jdbc:oracle:thin:@"+ent.getHost()+":"+ ent.getPort()+":xe" , ent.getLogin(), ent.getSenha());
        return con;
    }
public class UsuarioDao {

    public Connection getConexao() throws Exception
    {
        DriverManager.registerDriver(new OracleDriver());
        //Connection con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.117:1521:xe", "login, "senha");
        Connection con = DriverManager.getConnection
               ("jdbc:oracle:thin:@"+e.getHost()+":"+ e.getPort()+":xe" , e.getLogin(), e.getSenha());
        return con;
    }

     public ArrayList<Usuario> listar() throws SQLException, Exception
    {
            Connection con = getConexao();
            String sql = "select * from all_users order by user_id";
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery(sql);
            ArrayList<Usuario> colecao = new ArrayList<Usuario>();
            while (rs.next()) {
                Usuario user = new Usuario();
                user.setNome(rs.getString("username"));
                user.setId(rs.getInt("User_id"));
                //user.setStatus(rs.getString("account_status"));
                colecao.add(user);
            }
            rs.close();
            st.close();
            con.close();
            return colecao;
    }

    public void excluir(int cod) throws SQLException
    {
        try {
            Connection con = getConexao();
            String sql = "DELETE FROM all_users WHERE USER_ID = ?";
            PreparedStatement pst = con.prepareStatement(sql);
            pst.setInt(1, cod);
            pst.executeUpdate();
        } catch (Exception ex) {
            Logger.getLogger(UsuarioDao.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

    public void bloquear(int cod) throws Exception{

        Connection con = getConexao();
        String sql = "UPDATE all_users SET ACCOUNT_STATUS = 'LOCKED' WHERE user_id = ?";
        PreparedStatement pst = con.prepareStatement(sql);
        pst.setInt(1, cod);
        pst.executeUpdate();
    }
rafaelglauber

Oi,

Veja bem…para se conectar com o banco de dados você precisa de um usuário e uma senha, não é o banco de dados que vai te passar isso, é justamente o contrário, você deve fazer isso, normalmente esses valores ou você já coloca ai direto no código, ou colocar em arquivo texto e faz a leitura, ou armazena de qualquer outra forma, mas você só estabelece conexão com o servidor de banco de dados se tiver essa informação.

G

Oi,

Veja bem…para se conectar com o banco de dados você precisa de um usuário e uma senha, não é o banco de dados que vai te passar isso, é justamente o contrário, você deve fazer isso, normalmente esses valores ou você já coloca ai direto no código, ou colocar em arquivo texto e faz a leitura, ou armazena de qualquer outra forma, mas você só estabelece conexão com o servidor de banco de dados se tiver essa informação.

Olha eu so iniciante ainda sabe entao fica complicado pra mim as vezes, eu sei qu eo banco de dados precisa de um usuario e uma senha eu sei exatamente eu fiz uma aplicaçao grafica que os usuarios digitam esse valor por isso do objeto Entrada criado, porem nao da pra ficar passando toda hora esse objeto estou tentando buscar de arquivo esses dados entao vou gravar em txt temporario o que o usuario digitar e logo depois vou deletalo mas estou com muita dificuldade de colocar o login e a senha entre aspas veja o codigo

String bank = "jdbc:oracle:thin:@"+jTextFieldHost.getText()+":"+jTextFieldPort.getText()+":xe"+","+jTextFieldLogin.getText()+","+jTextFieldSenha.getText();

se puder me ajudar

rafaelglauber

Oi,

String bank = "jdbc:oracle:thin:@" + jTextFieldHost.getText() + ":" + jTextFieldPort.getText() + ":xe", jTextFieldLogin.getText(), jTextFieldSenha.getText();

Novamente você esta colocando as vírgulas dentro da primeira String…seu método tem três parâmetros: URL, usuário e senha, as vírgulas servem para separa-los.

G

Cara eu sei mas como que eu vo concatenar virgula na string cara? esse ai q vc me mando da erro…

Criado 11 de setembro de 2009
Ultima resposta 11 de set. de 2009
Respostas 8
Participantes 2