Persistência

1 resposta
R
Pessoal, Estou tentando aprender o que a minha faculdade não ensinou, e uma das coisas que ela não ensinou foi a conexção entre o java e um banco de dados. O problema é o seguinte, tenho um cadastro que usa JtextField, o conteúdo desse mesmo JtextField tem que ser gravado em um banco de dados, já consegui fazer a conexção, mas não sei como capturar os dados. Abaixo está uma parte do código. Obs: este código eu adaptei para o meu. Se alguém tiver algum tutorial, manual ou mesmo que possa me indicar um livro sobre o netbeans eu fico muito grato.
private void atualizaclienteActionPerformed(java.awt.event.ActionEvent evt) {                                               
        try
        {
           Statement statement = connection.createStatement();         
            if ( ! jTextFields.codigo.getText().equals( "" ) )
        {
            String query = "UPDATE hiroko SET " +
                   "codigo" + jTextField.codcliente.getText() +
                   "nomecliente" + jTextField.nomecliente.getText() +
                   "endereco" + jTextField.endereco.getText() +
                   "cidade" + jTextField.cidade.getText() +
                   "uf" +jTextfield.uf.getText() +
                   "cgc/cpf/cnpj" + jTextField.cgccpfcnpj.getText() +
                   "telefone" + jTextField.telefone.getText() +
                   "WHERE codigo" + jTextFields.codigo.getText();

            int result = statement.executeUpdate( query );
           
            if ( result == 1 )
                JOptionPane.showMessageDialog(
               null, "Registro alterado." , "Aviso",
               JOptionPane.PLAIN_MESSAGE );
            else {
               JOptionPane.showMessageDialog(
               null, "Falha na alteração!" , "Aviso",
               JOptionPane.WARNING_MESSAGE );
               jTextField.codigo.setText( "" );
               jTextField.nomecliente.setText( "" );
               jTextField.endereco.setText( "" );
               jTextField.cidade.setText( "" );
               jTextField.uf.setText( "" );
               jTextField.cgccpfcnpj.setText( "" );
               jTextField.telefone.setText( "" );
               jTextField.email.setText( "" );
               }

            statement.close();
      else
          JOptionPane.showMessageDialog(
     
            null, "\nUse Alterar somente quando\n  " +
                           "existim registros. Use Pesquisar para\n " +
                           "localizar um registro, então\n " +
                           "modifique a informação e\n " +
                           "pressione Alterar.\n" , "Aviso",
            JOptionPane.PLAIN_MESSAGE );
      }
      catch (SQLException sqlex) {
         sqlex.printStackTrace();
         JOptionPane.showMessageDialog(
         null, sqlex.toString(), "Aviso",
         JOptionPane.WARNING_MESSAGE );
      }
        }   
    }
[size="11"][color="red"]* Editado: Lembre-se de utilizar BBCode em seus códigos - Ratinho[/color][/size] :joia:

1 Resposta

F

Eae.. cara.. so tenta colocar o teu código dentro das tags Code que tem quando tu cria uma menssagem!

mas enfim... tenta usar o PrepapeStatement.. por questões de ser mais facil de usar.. ter um código mais limpo.. etc...:

try {
        // Prepare a statement to insert a record
        String sql = "INSERT INTO my_table (col_string) VALUES(?,?)";
        PreparedStatement pstmt = connection.prepareStatement(sql);
    
        // Insert 10 rows
        for (int i=0; i<10; i++) {
            // Set the value
            pstmt.setString(1, "row "+i);
            pstmt.setInt(1, jTextFieldIdade.getText());
    
            // Insert the row
            pstmt.executeUpdate();
        }
    } catch (SQLException e) {
    }
Só uma breve explicação.. na linha
String sql = "INSERT INTO my_table (col_string) VALUES(?)";
Contém ?.. esse ponto de interrogação vai ser "subtituido" por uma String que é setada pela linha:
pstmt.setString(1, "row "+i);
!

É bem simples de usar.. e se tu precisar de n

Criado 19 de junho de 2006
Ultima resposta 20 de jun. de 2006
Respostas 1
Participantes 2