Inserir registo na bd

import java.sql.*;

class Abdon1{
//Informações para a conexão
private final static String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;
private final static String url = “jdbc:odbc:AGENDA”;

private final static String username ="";   
private final static String password ="";   
   
//Ambiente para conexão   
private Connection con;   
private Statement stmt;   
private ResultSet rs;   
   
//Definição de dados   
private String nome = null;   
private String telefone = null;   
   
//Abrir Banco de Dados   
public void openDB(){   
       
    try{   
        Class.forName(driver);   
           
        con = DriverManager.getConnection(url, username, password);   
        stmt = con.createStatement();   
           
        System.out.println("Conexao estabelecida com sucesso ");   
           
    }//end try   
       
    catch(ClassNotFoundException e){   
        System.out.println("Erro ao carregar JDBC/ODBC pois: "+e);   
        System.exit(1);   
       
    }//end catch   
       
    catch(SQLException e){   
        System.out.println("Nao foi possivel estabelicer conexao pois: "+e);   
       
    }//end catch   
}//end openDB   
   
public void setNome(String a){   
    nome = a;   
}//end setNome   
   
    public void setTelefone(String b){   
    telefone = b;   
}//end setTelefone   
   
//Metodo que grava os dados no Banco de dados   
public void gravaDados(){   
               
    System.out.println(nome);   
       
    String query = "INSERT INTO AGENDA(NOME, TELEFONE) VALUES ("+nome+","+telefone+")";   
       
    try{   
        System.out.println("Inserindo dados...");   
                       
        stmt.executeUpdate(query);   
       
    }//end try   
       
    catch(SQLException e){   
        System.out.println("Erro ao inserir dados pois: "+e);   
    }//end catch   
       
}//end gravaDados   
       
   
public static void main(String args[]){   
    Abdon1 a = new Abdon1();   
    a.openDB();   
    a.nome="Ovelha";   
    a.telefone="1111111";   
    a.gravaDados();   
       
}//end main   

}//end class Jbd

Pegando neste exemplo, como eu faria se n quisesse adicionar os dados (que ja estão defenidos no programa) mas sim, colocar o que o usuario escreveu? ou seja recebe-los

Olá

Se voce já tem seu form com os campos texto, simplesmente use os métodos deles para pegar os dados.

Seria algo mais ou menos assim:

public static void main(String args[]){
         
         Abdon1 a = new Abdon1();

         a.openDB();

         a.setNome( seuForm.jtNome.getText() );
         a.setTelefone( seuForm.jtTel().getText() );

         a.gravaDados();

}//end main 

a.setTelefone( seuForm.jtTel().getText() ); o telefone é um inteiro… n percebi ojtTel()

Não é de um form que o registo é enviado mas sim de um programa

Se o telefone é um inteiro então vc faz um parse:

 new Integer(seuForm.jtTel().getText() ) 

Mas já que não vem de um form, como vc acessa estes dados? Este outro programa gera um arquivo u coisa assim?

n percebi pk chamar jTel();

o programa envia os dados e eu insiro na bd

Bem, acho q eu entendi que você quer passar algum argumento digitado pelo usuário para a sua invocação JDBC… certo ???

Se for isso, vc pode tentar o exemplo pegando o seu próprio array args :

na linha de comandos…

javac Abdon1

java Abdon1 MeuNome 99999999

Lá dentro do main da classe…

public static void main(String args[]){
Abdon1 a = new Abdon1();
a.openDB();
a.nome=args[0];
a.telefone=args[1];
a.gravaDados();
}

Obvio, esse meu código tah bem “naive”, e está confiando que você passará realmente os parâmetros certinhos… mas como é pra finalidade de testes e conhecimento, acho q vale… Você pode fazer o exemplo com Swing, Web, Remoto, pois o princípio será o mesmo. :wink:

era exatamente isso :slight_smile: obrigada