Illegal scape character ! "String url"

84 respostas
Z

Amigos, no netbeans criei um formulario somente com 1 botao.

Meu intuito é ver se consigo conectar o java em um banco de dados access ( jah configurei o ODBC pra ele ) …

Dentro dele coloquei os seguintes codigos ( junto com codigos que o netbens gera automaticamente )

Acontece o erro “Illegal scape character” nesta linha String url = “jdbc:odbc:Documents and Settings\danilo\Desktop”;

porque acotnece isso? sou novo no java e não conheco muita coisa, desculpe a ignorancia

:slight_smile:

sds,

->>

public class NewJFrame extends javax.swing.JFrame {

/** Creates new form NewJFrame */
public NewJFrame() {
    initComponents();
}

/** This method is called from within the constructor to
 * initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is
 * always regenerated by the Form Editor.
 */
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    jButton1 = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setName("Form"); // NOI18N

    org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(desktopapplication1.DesktopApplication1.class).getContext().getResourceMap(NewJFrame.class);
    jButton1.setText(resourceMap.getString("jButton1.text")); // NOI18N
    jButton1.setName("jButton1"); // NOI18N
    jButton1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton1ActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(139, 139, 139)
            .addComponent(jButton1)
            .addContainerGap(186, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(106, 106, 106)
            .addComponent(jButton1)
            .addContainerGap(171, Short.MAX_VALUE))
    );

    pack();
}// </editor-fold>                        

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    String url = "jdbc:odbc:Documents and Settings\danilo\Desktop";
    String usuario = "";
    String senha = "";
    try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    } catch (ClassNotFoundException ex) {
        Logger.getLogger(DesktopApplication1View.class.getName()).log(Level.SEVERE, null, ex);
    }
    Connection con = null;
    try {
        try {
            con = DriverManager.getConnection(url, usuario, senha);
        } catch (SQLException ex) {
            Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
         JOptionPane.showMessageDialog(null,"Conexão estabelecida","Mensagem do Programa",JOptionPane.INFORMATION_MESSAGE);
    }
    finally{
        try {
            con.close(); // TODO add your handling code here:
        } catch (SQLException ex) {
            Logger.getLogger(DesktopApplication1View.class.getName()).log(Level.SEVERE, null, ex);
        }
    }        // TODO add your handling code here:
}                                        

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new NewJFrame().setVisible(true);
        }
    });
}

// Variables declaration - do not modify                     
private javax.swing.JButton jButton1;
// End of variables declaration

}

84 Respostas

A

Substutua sua string

String url = "jdbc:odbcocuments and Settings\danilo\Desktop";

por

String url = "jdbc:odbcocuments and Settings\danilo\Desktop";

O caracter “” é especial, você tem que colocar duas pra ele entender que é uma “”.

Z

ok, obrigado !

eu mudei minha programacao acima, favor desconsiderar.

Coloquei da seguinte forma:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

String url = jdbc:odbc:ACCESSJAVA;

String usuario = “”;

String senha = “”;

try {

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

Connection con;

con = DriverManager.getConnection(url, usuario, senha);

JOptionPane.showMessageDialog(null,“Conexão estabelecida”,“Mensagem do Programa”,JOptionPane.INFORMATION_MESSAGE);

con.close;

} catch (ClassNotFoundException ex) {

Logger.getLogger(DesktopApplication1View.class.getName()).log(Level.SEVERE, null, ex);

JOptionPane.showMessageDialog(null,“Conexão não estabelecida”,“Mensagem do Programa”,JOptionPane.INFORMATION_MESSAGE);

}

finally{
}        

}

Ele acusa o seguinte erro no con.close; :

not a statement

alguem saberia oque é?

sds,

Gabriel_Galhardi

con = DriverManager.getConnection(url, usuario, senha);
isso te retorna uma conexão aberta? nao seria necessario: con.open();?

Gabriel_Galhardi

opa, malz, mas acho que vc nem prescisa fecha ela, vc nem chegou a abri-la eu acho, vc somente pegou

Z

não sei brother

Eu não conheco de java, isso que eu programei na verdade peguei de um tutorial, então eu achei que deveria funcionar…

O banco accdb(access 2007) esta no meu desktop.

Eu configurei o odbc pra access, e estava tentando conectar.

tem algum palpite pra me ajudar?
sds,

Z

Oque devo colocar nesta linha : “String url = …”

isso?
String url = “jdbc:odbc:C:\Documents and Settings\danilo\DesktopACCESSJAVA”;

ou isso?
String url = “jdbc:odbc:ACCESSJAVA”;

Entretanto, os dois estao com erros hehehe

alguem saberia me responder oque devo fazer para a conexão funcionar?

“ACCESSJAVA” é o nome do banco de dados… preciso colocar a extensão .accdb?..

sds,

Gabriel_Galhardi

entendi, mas acho que é isso msm, vc só pegou a conexão, mas nao abriu ela ainda, por isso quando vc manda fecha da pau…
tenta debuga a linha onde vc recupera a con, veja se ela vem normalmente.

Z
_____try {

__________Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);

__________Connection con;

__________try {

_______________con = DriverManager.getConnection(url, usuario, senha);

__________} catch (SQLException ex) {

_______________Logger.getLogger(DesktopApplication1View.class.getName()).log(Level.SEVERE, null, ex);

_______________JOptionPane.showMessageDialog(null,Conexão nao estabelecida,Mensagem do Programa,JOptionPane.INFORMATION_MESSAGE);

__________}

__________JOptionPane.showMessageDialog(null,“Conexão estabelecida”,“Mensagem do Programa”,JOptionPane.INFORMATION_MESSAGE);

_____} catch (ClassNotFoundException ex) {

__________Logger.getLogger(DesktopApplication1View.class.getName()).log(Level.SEVERE, null, ex);

__________JOptionPane.showMessageDialog(null,Conexão não estabelecida,Mensagem do Programa,JOptionPane.INFORMATION_MESSAGE);

__________}

_____finally{

_____}

}

“FAVOR DESCONSIDERAR O _____ , É SÓMENTE A TABULACAO PRA MELHOR VISUALIZAR”

E os seguintes erros foram mostrados quando eu executei o programa e cliquei no botão:

run:

22/06/2009 15:53:02 desktopapplication1.DesktopApplication1View jButton1ActionPerformed

SEVERE: null

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Nome de fonte de dados muito longo

at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)

at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)

at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073)

at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)

at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)

at java.sql.DriverManager.getConnection(DriverManager.java:582)

at java.sql.DriverManager.getConnection(DriverManager.java:185)

at desktopapplication1.DesktopApplication1View.jButton1ActionPerformed(DesktopApplication1View.java:222)

at desktopapplication1.DesktopApplication1View.access$800(DesktopApplication1View.java:28)

at desktopapplication1.DesktopApplication1View$4.actionPerformed(DesktopApplication1View.java:129)

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:6216)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)

at java.awt.Component.processEvent(Component.java:5981)

at java.awt.Container.processEvent(Container.java:2041)

at java.awt.Component.dispatchEventImpl(Component.java:4583)

at java.awt.Container.dispatchEventImpl(Container.java:2099)

at java.awt.Component.dispatchEvent(Component.java:4413)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)

at java.awt.Container.dispatchEventImpl(Container.java:2085)

at java.awt.Window.dispatchEventImpl(Window.java:2475)

at java.awt.Component.dispatchEvent(Component.java:4413)

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)

BUILD SUCCESSFUL (total time: 6 seconds)

Oque seria isso? eu não tenho a MINIMA IDEIA :frowning:

Muito obrigado!

sds,

Z

troquei a linha para :String url = “jdbc:odbc:ACCESSJAVA” e parece que funcionou.

Irei continuar os estudos, caso eu empacar eu por favor conto com a ajuda de voces!

Muito obrigado pela dedicacao em me ajudar!!!

sds,

M

coloque teu código entre as tags [code] assim fica mais fácil de visualizar

Gabriel_Galhardi

q hr aparece isso?
a hr que vc clica no botao?
já tentou debugar?
nao parece ser um erro, somente o log de uma build, fala oq vc ta tentando fazer…

Z

markin obrigado pela dica, como sou iniciante por aqui, não sabia que havia este recurso!

E grande amigo Gabriel, aparecia quando eu clicava no botao do formulario ( botei pra rodar o formulario )

Mas eu trokei as linhas e funcionou !..apareceu a msg “conexão estabelecida!”

Quer dizer que funfo…

Bom vou tentar fazer outras coisinhas aqui =D

Errando e aprendendo !

Muito obrigado, e como falei, se eu empacar, posto aqui pra voces me ajudarem

Muito obrigado

sds,

Gabriel_Galhardi

é nóis lol

Z

o grande problema de quando se inicia o desenvolvimento em uma linguagem sem saber NADA …sem curso e afins…é que qualquer coisa te empaca.

Coloquei essas linhas dentro do try, abaixo do “con = DriverManager.getConnection(url, usuario, senha);” :

Statement st = con.createStatement();
ResultSet rs = st.executeQuery(“SELECT * FROM Tabela1 WHERE Cod=2”);

No " Statement st = con.createStatement(); " ele infoma “Incopatible types” … e pede pra trocar para “Statement st = (Statement) con.createStatement();”

tem alguma coisa haver?

E no “ResultSet rs = st.executeQuery(“SELECT * FROM Tabela1 WHERE Cod=2”);” ele da o erro “cannot find symbol”

=|

sds,

Gabriel_Galhardi

o (Statement) se chama “cast”, digamos que é um jeito de vc falar de forma explicita que o objeto é desse tipo…
sobre o resultSet, nao sei, tentou substituir o * pelos nomes das colunas? se bem que acho que nda av…

Z

entao, eu trokei a linha para " java.sql.Statement st = con.createStatement(); " e funcionou !

:X

o porque eu não sei, mas funcionando ta blz !

:smiley:

Agora, o “ResultSet rs = st.executeQuery(“SELECT cor FROM [_m_cad_cores] WHERE Cod=2”);” funciona

Mas na hora de eu jogar para uma caixa de texto ele da erro :

jTextField1.setText(rs.getString(“cor”));

O erro acontece em tempo de execução…quando eu clico no botão…

Ele manda um monte de msg no output:

run:

22/06/2009 16:34:11 desktopapplication1.DesktopApplication1View jButton1ActionPerformed

SEVERE: null

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Estado de cursor inválido

at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)

at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)

at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3907)

at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5698)

at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:354)

at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:411)

at desktopapplication1.DesktopApplication1View.jButton1ActionPerformed(DesktopApplication1View.java:264)

at desktopapplication1.DesktopApplication1View.access$800(DesktopApplication1View.java:30)

at desktopapplication1.DesktopApplication1View$4.actionPerformed(DesktopApplication1View.java:135)

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:6216)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)

at java.awt.Component.processEvent(Component.java:5981)

at java.awt.Container.processEvent(Container.java:2041)

at java.awt.Component.dispatchEventImpl(Component.java:4583)

at java.awt.Container.dispatchEventImpl(Container.java:2099)

at java.awt.Component.dispatchEvent(Component.java:4413)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)

at java.awt.Container.dispatchEventImpl(Container.java:2085)

at java.awt.Window.dispatchEventImpl(Window.java:2475)

at java.awt.Component.dispatchEvent(Component.java:4413)

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)

saberia dizer oque ele quer dizer com isso? :smiley:

sds,

Gabriel_Galhardi

" java.sql.Statement st = con.createStatement(); "
essa parada tava dando zica pq vc fez o import errado, pode ver que nos imports oq vc tem Statement nao é do msm pacote que esse que vc ta usando agora, e sobre o resultSet, debuga e ve se vem vindo algum dado, ou jpgue direto no banco e veja se vm algum registro.

Z

mas entao…ele da erro provavelmente na hora que executa esta linha:

jTextField1.setText(rs.getString(“cor”));

pra saber se esta trazendo as informações isto já não basta ?

Pois a linha “ResultSet rs = st.executeQuery(“SELECT cor FROM [_m_cad_cores] WHERE Cod=2”);” funcionou

O problema esta aqui:

jTextField1.setText(rs.getString(“cor”));

Pois eu comentei a linha com o problema e não mandou erro nenhum

Ai eu descomentei ela novamente e o erro voltou

entendeu?

sds,

Gabriel_Galhardi

sim, mas pode estar ocorrendo de essa linha nao estar retornando ninguem, entendeu?

Z

entendi ¬¬ !

que burro que eu fui =x

Mas eu não aprendi ainda a salvar no banco de dados.

Existe um jeito simples para eu depurar este “provavel” erro?

sds,

Gabriel_Galhardi

vc ta usando qual ide?

Z

NetBeans IDE 7.0M1

Seria isso?

:slight_smile:

Gabriel_Galhardi

clica do lado da linha onde vc deseja colocar um break, vai aparecer uma bolinha la, ai vai ter alguma opção de run debug, ai a hr que vc clica no botao, e ele for passa pela linha, ele vai para la, ai vc olha as propriedades

Z

boaa …

O erro eu achei…a solução não =D

erro:

rs.getString(“cor”) = > Exception occurried in target VM : [Microsoft][ODBC Driver Manager] Estado de cursor inválido <

Oque seria isso?

Não entendo pois eu coloquei um pause break na linha “ResultSet rs = st.executeQuery(“SELECT cor FROM [_m_cad_cores] WHERE Cod=2”);” e quando eu mandei executar a linha ela funcionou…

deu zica naquela de cima mesmo.

sds,

Z

amigo, terei que me ausentar até amanha pois estou em periodo de servico e tenho que ir para faculdade.

Amanha de manha, umas 7 hrs já estarei conectado aqui!

Se voce puder me ajudar ainda te agradeço

E claro se alguem quiser postar um help pra min eu leio amanha.

Muito obrigado a todos por tudo que me ajudaram até este momento !!

Saudações !

Z

tentei resolver o problema mas ainda não encontrei a solucao

:expressionless:

Gabriel_Galhardi

só saber que a linha esta sendo executada nao quer dizer nda, via select no banco usando essa msm query vc esta tendo algum resultado?

Z

só um minuto irei checar

Z

fiz os testes e me retornou uma cor sim :wink:

Ah, tentei executar hoje de manha o aplicativo mas quando eu clico em Executar Projeto principal ele compila e tudo mas não abre o formulario na tela

pq sera? se ele esta setado como .visible = true

public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new TESTECONECTIVIDADE().setVisible(true);
        }
    });

init:
deps-jar:
Compiling 1 source file to C:\Documents and Settings\danilo\TESTE CONECTIVIDADE\build\classes
compile:
run:
EXECUTADO COM SUCESSO (tempo total: 2 segundos)

??? saberia o porque?

Gabriel_Galhardi

nao ta dando erro a hr que vc sobe a app?

Z

o meu formulario tem 1 caixa de texto, e um botao

segue o codigo dele

package testeconectividade;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author  danilo
 */
public class TESTECONECTIVIDADE extends javax.swing.JFrame {
    
    /** Creates new form TESTECONECTIVIDADE */
    public TESTECONECTIVIDADE() {
        initComponents();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Código Gerado ">                          
    private void initComponents() {
        jTextField1 = new javax.swing.JTextField();
        jButton2 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jButton2.setText("jButton2");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(108, 108, 108)
                        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 212, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(159, 159, 159)
                        .addComponent(jButton2)))
                .addContainerGap(80, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(56, 56, 56)
                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(40, 40, 40)
                .addComponent(jButton2)
                .addContainerGap(161, Short.MAX_VALUE))
        );
        pack();
    }// </editor-fold>                        

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        String url = "jdbc:odbc:ACCESSJAVA"; 
        String usuario = ""; 
        String senha = ""; 
        try { 
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
            Connection con;
            try {
                con = DriverManager.getConnection(url, usuario, senha); 
                Statement st = con.createStatement(); 
                ResultSet rs = st.executeQuery("SELECT cor FROM [_m_cad_cores] WHERE Cod=2"); 
                jTextField1.setText(rs.getString("cor")); 
                
            } catch (SQLException ex) {
                JOptionPane.showMessageDialog(null,"Conexão não estabelecida","Mensagem do Programa",JOptionPane.INFORMATION_MESSAGE);
                ex.printStackTrace();
            } 
            JOptionPane.showMessageDialog(null,"Conexão estabelecida","Mensagem do Programa",JOptionPane.INFORMATION_MESSAGE);
            
        } catch (ClassNotFoundException ex) { 
          //  Logger.getLogger(DesktopApplication1View.class.getName()).log(Level.SEVERE, null, ex); 
            JOptionPane.showMessageDialog(null,"Conexão não estabelecida","Mensagem do Programa",JOptionPane.INFORMATION_MESSAGE); 
        } 
        finally{ 
            
        }  // TODO adicione seu código de manipulação aqui:
    }                                        
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new TESTECONECTIVIDADE().setVisible(true);
            }
        });
    }
    
    // Declaração de variáveis - não modifique                     
    private javax.swing.JButton jButton2;
    private javax.swing.JTextField jTextField1;
    // Fim da declaração de variáveis                   
    
}

Quando mando executar ele manda essa msg na saida

init:
deps-jar:
Compiling 1 source file to C:\Documents and Settings\danilo\TESTE CONECTIVIDADE\build\classes
compile:
run:
EXECUTADO COM SUCESSO (tempo total: 0 segundos)

mas não abre o formulario pra poder mecher.

entendeu?

Z

amigo favor desconsiderar,

Eu estava tentando rodar em um Netbeans bugado

Instalei dnv e rodou… mas o botão não funciona…no caso é aquele problema que paramos ontem.

=)

Gabriel_Galhardi

véi, malz msm, mas swing nunca mexi cara

Gabriel_Galhardi

o result deve ter alguma lista de parametros como propriedades, qdo estiver debugando na linha abaixo onde vc manda o resultado do select pra ele, poe um braek, debuga, e v c a lista de propriedades dele nao ta vindo vazia…

Z

tranquilão, já esta rodando …

só esta dando aquele erro na SQL que eu te falei ontem

nesta linha :

jTextField1.setText(rs.getString(“cor”));

vou te mostrar exatamente como esta o codigo hoje do formulario ( oque eu passei no post acima favor desconsiderar )

/*
 * DesktopApplication1View.java
 */

package desktopapplication1;

import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

/**
 * The application's main frame.
 */
public class DesktopApplication1View extends FrameView {

    public DesktopApplication1View(SingleFrameApplication app) {
        super(app);

        initComponents();

        // status bar initialization - message timeout, idle icon and busy animation, etc
        ResourceMap resourceMap = getResourceMap();
        int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
        messageTimer = new Timer(messageTimeout, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                statusMessageLabel.setText("");
            }
        });
        messageTimer.setRepeats(false);
        int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate");
        for (int i = 0; i < busyIcons.length; i++) {
            busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");
        }
        busyIconTimer = new Timer(busyAnimationRate, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                busyIconIndex = (busyIconIndex + 1) % busyIcons.length;
                statusAnimationLabel.setIcon(busyIcons[busyIconIndex]);
            }
        });
        idleIcon = resourceMap.getIcon("StatusBar.idleIcon");
        statusAnimationLabel.setIcon(idleIcon);
        progressBar.setVisible(false);

        // connecting action tasks to status bar via TaskMonitor
        TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext());
        taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent evt) {
                String propertyName = evt.getPropertyName();
                if ("started".equals(propertyName)) {
                    if (!busyIconTimer.isRunning()) {
                        statusAnimationLabel.setIcon(busyIcons[0]);
                        busyIconIndex = 0;
                        busyIconTimer.start();
                    }
                    progressBar.setVisible(true);
                    progressBar.setIndeterminate(true);
                } else if ("done".equals(propertyName)) {
                    busyIconTimer.stop();
                    statusAnimationLabel.setIcon(idleIcon);
                    progressBar.setVisible(false);
                    progressBar.setValue(0);
                } else if ("message".equals(propertyName)) {
                    String text = (String)(evt.getNewValue());
                    statusMessageLabel.setText((text == null) ? "" : text);
                    messageTimer.restart();
                } else if ("progress".equals(propertyName)) {
                    int value = (Integer)(evt.getNewValue());
                    progressBar.setVisible(true);
                    progressBar.setIndeterminate(false);
                    progressBar.setValue(value);
                }
            }
        });
    }

    @Action
    public void showAboutBox() {
        if (aboutBox == null) {
            JFrame mainFrame = DesktopApplication1.getApplication().getMainFrame();
            aboutBox = new DesktopApplication1AboutBox(mainFrame);
            aboutBox.setLocationRelativeTo(mainFrame);
        }
        DesktopApplication1.getApplication().show(aboutBox);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        mainPanel = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jTextField1 = new javax.swing.JTextField();
        jTextField2 = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        menuBar = new javax.swing.JMenuBar();
        javax.swing.JMenu fileMenu = new javax.swing.JMenu();
        javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
        javax.swing.JMenu helpMenu = new javax.swing.JMenu();
        javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
        statusPanel = new javax.swing.JPanel();
        javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();
        statusMessageLabel = new javax.swing.JLabel();
        statusAnimationLabel = new javax.swing.JLabel();
        progressBar = new javax.swing.JProgressBar();

        mainPanel.setName("mainPanel"); // NOI18N

        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(desktopapplication1.DesktopApplication1.class).getContext().getResourceMap(DesktopApplication1View.class);
        jButton1.setText(resourceMap.getString("jButton1.text")); // NOI18N
        jButton1.setName("jButton1"); // NOI18N
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jTextField1.setText(resourceMap.getString("jTextField1.text")); // NOI18N
        jTextField1.setName("jTextField1"); // NOI18N

        jTextField2.setText(resourceMap.getString("jTextField2.text")); // NOI18N
        jTextField2.setName("jTextField2"); // NOI18N

        jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
        jLabel1.setName("jLabel1"); // NOI18N

        jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N
        jLabel2.setName("jLabel2"); // NOI18N

        javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
        mainPanel.setLayout(mainPanelLayout);
        mainPanelLayout.setHorizontalGroup(
            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addContainerGap(116, Short.MAX_VALUE)
                        .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 245, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, mainPanelLayout.createSequentialGroup()
                        .addGap(56, 56, 56)
                        .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE))
                        .addGap(18, 18, 18)
                        .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 199, Short.MAX_VALUE)
                            .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 199, Short.MAX_VALUE))))
                .addGap(110, 110, 110))
        );
        mainPanelLayout.setVerticalGroup(
            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
                .addGap(108, 108, 108)
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel2))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 274, Short.MAX_VALUE)
                .addComponent(jButton1)
                .addGap(45, 45, 45))
        );

        menuBar.setName("menuBar"); // NOI18N

        fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N
        fileMenu.setName("fileMenu"); // NOI18N

        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(desktopapplication1.DesktopApplication1.class).getContext().getActionMap(DesktopApplication1View.class, this);
        exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
        exitMenuItem.setName("exitMenuItem"); // NOI18N
        fileMenu.add(exitMenuItem);

        menuBar.add(fileMenu);

        helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
        helpMenu.setName("helpMenu"); // NOI18N

        aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
        aboutMenuItem.setName("aboutMenuItem"); // NOI18N
        helpMenu.add(aboutMenuItem);

        menuBar.add(helpMenu);

        statusPanel.setName("statusPanel"); // NOI18N

        statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N

        statusMessageLabel.setName("statusMessageLabel"); // NOI18N

        statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N

        progressBar.setName("progressBar"); // NOI18N

        javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel);
        statusPanel.setLayout(statusPanelLayout);
        statusPanelLayout.setHorizontalGroup(
            statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 471, Short.MAX_VALUE)
            .addGroup(statusPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(statusMessageLabel)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 297, Short.MAX_VALUE)
                .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(statusAnimationLabel)
                .addContainerGap())
        );
        statusPanelLayout.setVerticalGroup(
            statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(statusPanelLayout.createSequentialGroup()
                .addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(statusMessageLabel)
                    .addComponent(statusAnimationLabel)
                    .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(3, 3, 3))
        );

        setComponent(mainPanel);
        setMenuBar(menuBar);
        setStatusBar(statusPanel);
    }// </editor-fold>                        

    @SuppressWarnings("empty-statement")
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        String url = "jdbc:odbc:ACCESSJAVA"; 
        String usuario = "";
        String senha = "";
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con;
            try {
                con = DriverManager.getConnection(url, usuario, senha);
                JOptionPane.showMessageDialog(null,"Conexão estabelecida","Mensagem do Programa",JOptionPane.INFORMATION_MESSAGE);
                java.sql.Statement st = con.createStatement();
                ResultSet rs = st.executeQuery("SELECT cor FROM [_m_cad_cores] WHERE Cod=2");
                jTextField1.setText(rs.getString("cor"));
                //JOptionPane.showMessageDialog(null,rs.getString("cor"),"Mensagem do Programa",JOptionPane.INFORMATION_MESSAGE);

            } catch (SQLException ex) {
                Logger.getLogger(DesktopApplication1View.class.getName()).log(Level.SEVERE, null, ex);
                JOptionPane.showMessageDialog(null,"Conexão nao estabelecida","Mensagem do Programa",JOptionPane.INFORMATION_MESSAGE);
            }
       } catch (ClassNotFoundException ex) {
            Logger.getLogger(DesktopApplication1View.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(null,"Conexão não estabelecida","Mensagem do Programa",JOptionPane.INFORMATION_MESSAGE);
        }
        finally{
          
        }        


    }                                        

    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    private javax.swing.JPanel mainPanel;
    private javax.swing.JMenuBar menuBar;
    private javax.swing.JProgressBar progressBar;
    private javax.swing.JLabel statusAnimationLabel;
    private javax.swing.JLabel statusMessageLabel;
    private javax.swing.JPanel statusPanel;
    // End of variables declaration                   

    private final Timer messageTimer;
    private final Timer busyIconTimer;
    private final Icon idleIcon;
    private final Icon[] busyIcons = new Icon[15];
    private int busyIconIndex = 0;

    private JDialog aboutBox;
}

veja se vc saberia oque é…

vlw !

Gabriel_Galhardi

coloca uym break na linha 262, e ve se qual o valor que esta dentro de rs

Z

gabriel, eu não sei como descobrir o valor da rs.

No access eu ia no depurador…

Oque eu consegui aqui no Java é passar o cursor em cima da parte “cor” da linha “jTextField1.setText(rs.getString(“cor”));” e ele me mostrou uma msg

Msg: “cor” is not a known variable in the context current.

Não tem nada haver né… seria isso ??

Ou pra descobrir o valor deve-se fazer outra coisa?

sds,

Gabriel_Galhardi

ele não ta achando cor dentro do rs, por isso ta dando o erro

Z

estranho…eu fiz a consulta no proprio banco de dados e tudo funcionou normalmente, la a consulta rodou…inclusive retornou a cor

:expressionless:

Estranho?

Gabriel_Galhardi

coloca em vez de "cor no getString, 0, pra ele retorna a primeira posicao.

Gabriel_Galhardi

se nao rola tenta assim
ResultSet rs = st
.executeQuery(“SELECT cor as c FROM [_m_cad_cores] WHERE Cod=2”);
e no getString passa “c”

Z

sem sucesso…

;/

Coisinha complicada

:frowning:

Gabriel_Galhardi

vc vai te que debuga o rs, qdo tivr debugando e para na linha dele, seleciona o rs e coloca um watch, talvez botao direito, ele vai trazer uma opcao de watch

Z

coloquei no watches e olha oque esta acusando

http://img514.imageshack.us/i/errl.jpg/

Caso não abrir a imagem : http://img514.imageshack.us/i/errl.jpg/

Vlw !

ajuda em algo essa imagem ?

Gabriel_Galhardi

coloca no rs só, na linha de cima

Z

coloquei o Watch no “rs” da linha ResultSet rs = st e esta igual ao outro.

=|

Gabriel_Galhardi

a coluna chama cor msm no banco?

Z

opa, claro que chama… lembrando que eu peguei a SQL e fui até o acces ( banco que ele esta executando ) e gerei la e funcionou.

=/

Gabriel_Galhardi

opa, verdade, rs, é q ta acabando as minhas probabilidades, vc deixo o brak na msm linha q a da imagem pra faze no rs? se sim, coloca na de cima.

Z

mesma coisa…esse watch não esta servindo pra muita coisa

;|

Voce não acharia melhor abrir um topico novo e ver se alguem pode nos ajudar?

Porque a gente esta se matando aqui huahuha

Gabriel_Galhardi

tira as [] do nome da tabela

Gabriel_Galhardi

.executeQuery(“SELECT cor as c FROM [_m_cad_cores] WHERE Cod=2”);
esqueci de fala, certo assim…

.executeQuery(“SELECT cor as c FROM [_m_cad_cores] WHERE c.Cod=2”);

Z

não mudou em nada…

Na verdade se for pensar … consulta SQL roda a mesma coisa em qualquer lugar, se rodou no access, deve rodar aqui… e o [] eu coloquei porque a tabela tem “_”…

Eu cliquei no botão e deu erro…até ai nenhuma novidade…

Entretanto no Output do netbeans ele manda esta msg:

23/06/2009 09:54:32 desktopapplication1.DesktopApplication1View jButton1ActionPerformed
SEVERE: null
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Estado de cursor inválido

é isso que ta errado… “Estado de cursor inválido”…não seria?

Z

cara achei um topico com o mesmo problema

http://www.guj.com.br/posts/list/127697.java#688720

da uma olhada

;|

Gabriel_Galhardi

tb to procurando no google, tem mta gente cm esse problema, o access que deve ta zuando a parada, nao da pra usa o um banco de verdade?

ManoJava

Segue exemplo de uma conexão bem efetuada em um Banco de Dados Oracle:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import javax.swing.JOptionPane;

public class Conexao

{

public static void main(String[] args)

{

try

{

Class.forName(oracle.jdbc.driver.OracleDriver);

System.out.println(Driver Ok);
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@192.200.1.19:1526:ti","usuario","senha");   
        System.out.println("Conexão Ok");   
           
        con.close();   
    }   
    catch(ClassNotFoundException cnfe)   
    {   
        System.err.println("Erro: Driver");   
    }   
    catch(SQLException cnfe)   
    {   
        System.err.println(cnfe.getMessage());   
    }   
}

}

Aqui deu certo espero que te ajude!!!

Timãooooo!

Z

hahaha sim

mas eu ainda não aprendi…

Eu ia usar O Postgree… mas o post não gera SQL ( consulta ) graficamente…

As vezes eu faço Sqls de 1 folha sulfite… imagina fazer isso na mão =x

Fiquei sabendo que o Mysql tem um tal de Front, ou Toad…que faz essas consultas graficamente…ai é só pegar a sql gerada automatica

entendeu? =z

Gabriel_Galhardi
faz assim depois da linha q vc atribui a st no rs

while (rs.next()

{

String teste =   rs.getString(c);

}

ai coloca o braek dentro do while e v se entra.

Z

AAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH

funcinouuuuuu!!!

Esse seu metodo deu certo.

Agora o seguinte… pq tenho que colcoar o next ?

Não tem muita logica tem? …

de qualquer forma MUITO OBRIGADO =D

Gabriel_Galhardi

tpw, qdo vc da o next ele coloca o cursor do rs na primeira posição…
é nois!!!
qlq coias só chama

Z

mas sempre que eu abrir uma consulta no java…obrigatoriamente eu teria q usar uma vez o next?

Ou é porque estou usando o cursor java ???

Gabriel_Galhardi

nao entendi a pergunta…

mas o next serve pra colocar o cursor na primeira posicao

Z

mas quando voce abre uma consulta não deveria ir por “padrão” no 1º registro?..

No access…se eu gero uma sql…seu cursor já cai na 1 linha …

entendeu?

Gabriel_Galhardi

sim, mas isso é do resultSet

Z

desculpa, mas não entendi…resultset ?

Gabriel_Galhardi

ResultSet rs = st.executeQuery(“SELECT cor FROM [_m_cad_cores] WHERE Cod=2”);

Z

existe outra forma de eu trazer a informacao do bd tirando o resultset?

E esta forma precisaria que eu colocar o rs.next ?

Gabriel_Galhardi

sem usar uma framework de persistencia, nao conheço outro jeito

Z

ok ok.

Viu já que estamos embalados, não que eu seja abusado nas duvidas…é que pelo oque eu vi voce certezamente manja da area… não posso disperdiçar.

Nos sistemas desenvolvidos em access voce tem a opção de Acoplar uma tabela em um formulario…nao sei se voce sabe disso…

Isto é… o formulario esta diretamente ligado ao bds, e se neste formulario existe uma textbox viculada com um campo da tabela…e voce trocar o valor dela…automaticamente a tabela já muda…

No java como funciona?? … Pq na verdade preciso transformar um sistema feito em access ( que realmente esta grande ) em um aplicativo java.

Como que funciona essas coisas no java ? Fui claro na pergunta?

vlw :wink:

T

http://developers.sun.com/learning/javaoneonline/2006/desktop/TS-1594.pdf

Gabriel_Galhardi

em java nunca vi isso pra se sincero…
vc vai te que criar os forms, cada campo do form vc joga em um objeto, ai vc faz tdo caminho de salvar no banco…

tem um parsa meu aqui que disse que ja viu isso em netBeans, mas eu nao tenho ideia de como fazer…

Z

thingol muito obrigado vou dar uma olhada

Agora Gabriel veja a questao…imagina 2 usuarios mechendo no mesmo registro.

Se um muda, para o outro já deve mostrar a mudança…

Entendeu?

Gabriel_Galhardi

sim cara…
certo seria vc tem um gerenciador de transações, procura sobre Spring, que alem de varias outras funções ele gerencia transações…

pra se sincero nao sei como funciona em deskTop, mas deve te algum jeito de vc da lock no registro, pro cara nao consegui acessa eqto ele estiver em edição, manja?

Z

entendi !

Brother criei um topico novo para esta duvida, discussão.

Da um toque la !

http://www.guj.com.br/posts/list/0/130405.java

E agradecido mesmo pela ajuda e dedicação no meu problema

=D

Gabriel_Galhardi

Onde vc baixo esse drive do MS Access???

Z

fala Gabriel.

Entao, eu não baixei driver nenhum

Eu usei o ODBC:JDBC

Configurei la no Painel de controle.

Escolhi qual banco de dados ( qual arquivo access ) e pronto

Entendeu?

Gabriel_Galhardi

nop…
não prescisa de driver de conexão?

Z

eu achoo que nao…eu nao instalei nada

Eu tenho o access instalado, só se na instalacao ele já inbutiu oque eu precisava

Ao invez de usar um driver JDBC para access eu fiz uma ponte com o ODBC:JDBC

Ai foi :wink:

Z

La em “Administrador de fonte de dados ODBC”

Tem que criar nova fonte de dados.

La já tinha um driver "Microsoft Access Driver [.mdb,.accdb]

:smiley:

usei este

Gabriel_Galhardi

uhnnn, li isso na net…
nao tenho nem ideia como faça…
quebra essa??? rs

Z

ta la

Painel de Controle - Ferramentas Administrativas - Fontes de dados ODBC - Aba Fonte de Dados de Sistema

Botao “Adicionar”
Driver "Microsoft Access Driver [.mdb,.accdb]
Botao Concluir

Na tela "Configurar ODBC para Microsoft Access "

Nome da fonte de dados: Nome do banco
Descricao: Coloca se quiser
Banco de dados(selecionar): Procura o banco de dados que voce quer adicionar

E da um OK
Pronto conexão feita

Foi assim que eu fiz

Agora, o algortimo que eu coloquei pra rodar a consulta…e realmente funcionou, foi esse:

tring url = “jdbc:odbc:ACCESSJAVA”;

String usuario = “”;

String senha = “”;

try {

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

Connection con;

try {

con = DriverManager.getConnection(url, usuario, senha);

JOptionPane.showMessageDialog(null,“Conexão estabelecida”,“Mensagem do Programa”,JOptionPane.INFORMATION_MESSAGE);

java.sql.Statement st = con.createStatement();

ResultSet rs = st

.executeQuery(“SELECT cor as c , cod as cd FROM _m_cad_cores WHERE Cod=2”);

while (rs.next()){

jTextField1.setText(rs.getString(“c”));

jTextField2.setText(rs.getString(“cd”));

}

<a href="//jTextField1.setText">//jTextField1.setText</a>(rs.getString(“c”));

} catch (SQLException ex) {

Logger.getLogger(DesktopApplication1View.class.getName()).log(Level.SEVERE, null, ex);

JOptionPane.showMessageDialog(null,“Conexão nao estabelecida”,“Mensagem do Programa”,JOptionPane.INFORMATION_MESSAGE);

}

} catch (ClassNotFoundException ex) {

Logger.getLogger(DesktopApplication1View.class.getName()).log(Level.SEVERE, null, ex);

JOptionPane.showMessageDialog(null,“Conexão não estabelecida”,“Mensagem do Programa”,JOptionPane.INFORMATION_MESSAGE);

}

finally{
}

:wink: certo?

Ah, vai precisar importar algumas coisas quando voce jogar esse algoritmo no sistema.

flw :wink:

Gabriel_Galhardi

uhnnn…
blz, vlwwwwww…
mas nao rolo, aki no trampo a gente nao tem acesso full na maquina…
hehe, vo continua procurando o drive, kero ve se rola usa ele cm hibernate

Z

hahahahaha…ai não posso te ajudar

sou novato em Java, não sei nem oque é Hibernat

;X

Bom de qualquer forma estamos ai pra ajudar.

:slight_smile: sds,

Gabriel_Galhardi

hehe vlwwwsss…
hibernate é uma framework pra persistencia em banco…
mto mais pratico do q fazzer direto cm jdbc…
vale a pena estudar sobre…

Criado 22 de junho de 2009
Ultima resposta 25 de jun. de 2009
Respostas 84
Participantes 6