Tabela do Access so grava um registro

1 resposta
R

amigos…to usando java + access e to percebendo que so grava um registro na tabela…na segunda tentativa da erro ERRO SQL - GENERIC ERROR. E se apago o registro que ta la, grava legal! O que é isso?

to trabalhando com tres tabelas paralelas…abro a 1 e gravo os dados em variaveis, fecho, abro a 2 gravo nas variaveis, abro a 3 e insiro os dados q estavam nas variaveis…o problema pode ser nas aberturas de tabela?

try {

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

Connection ConectaNoBanco = DriverManager.getConnection(“jdbc:odbc:MS, “”, “”);

Statement stmt = ConectaNoBanco.createStatement();

String xDateAndTime = eDateAndTime.getText();

ResultSet RS = stmt.executeQuery(“Select * from tabe3 where MARKER=‘E’”);
while(RS.next())
          {
                              
             if(eTagIndex.getText().equals("21"))
             {
                eNumAnalise.setText(eVal.getText());
             }
            
             if(eTagIndex.getText().equals("20")) // Marca
             {
                 eMarca.setText(eVal.getText());
             }
          }
         
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          Connection ConectaNoBanco2 = DriverManager.getConnection("jdbc:odbc:MS", "", "");
          Statement stmt2 = ConectaNoBanco2.createStatement();
          ResultSet RS2 = stmt2.executeQuery("Select * from tabe2 where MARKER='E'");
          
          while(RS2.next())
          {
             int eTagIndex_Int = RS2.getInt("TAGINDEX");
            
             if(eTagIndex_Int == 14) // Duplas
             {
                 eDuplas.setText(eVal.getText());
             }
          }
          
          
             // GRAVANDO DADOS NA TABELA DESTINO(TBL_AMOSTRAGEM)
                  
                     
       String rNumAnalise = eNumAnalise.getText();
       String rMarca      = eMarca.getText();
              
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       Connection ConectaNoBanco3 = DriverManager.getConnection("jdbc:odbc:MS", "", "");
       Statement stmt3 = ConectaNoBanco3.createStatement();
      stmt3.executeUpdate("insert into TBL_AMOSTRAGEM_NOVA(NUMANALISE,MARCA) values (' " + rNumAnalise +" ',' " + rMarca + "')");
      
       stmt3.close();
       ConectaNoBanco3.close();
    
       } catch(SQLException e)
       
           {
       JOptionPane.showMessageDialog(this,"ERRO NO COMANDO SQL" + e.getMessage());
              
           } catch(ClassNotFoundException e) 
                {
                    JOptionPane.showMessageDialog(this,"DRIVE NAO ENCONTRADO");
                }

1 Resposta

Calvin

Bom primeiramente eu dei uma olhada apenas por cima no seu código fonte devido estar muito confuso pois está sem a famosa identação.
Dica: quando for postar código fonte aqui no fórum utilize as tag’s Code

Creio que seja por causa de alguma restrição no banco de dados, por exemplo: você esta tentando inserir dois valores iguais em um campo que é chave primaria ou tem alguma restrição.

E se me permitir mais uma dica: deixe o access de lado e esqueça que ele exista. Utilize o mySql 5 é mais fácil, rápido, lógico, tem todo o help em português,…, é mais qualquer coisa em relação ao access! :smiley:

Criado 18 de setembro de 2006
Ultima resposta 18 de set. de 2006
Respostas 1
Participantes 2