Oi pessoal eu tenho um programonha pra ler no banco de dado oracle
os registros de tres tabelas e depois jogar o resutado na janela
dentro de TextArea, ate ai tudo bem o problema eh que agora eu
tenho que acrescentar zeros a esquerda dos numeros das tabelas de numeros
ate completar oito digitos para alinhar bem todos os registros!
Alguem ai sabem como eu posso fazer isso?
Esse ai eh o codigo eu so quero:
package teste;
public class Tentativa extends JFrame implements ActionListener {
private String Drive = "oracle.jdbc.OracleDriver";
private String URL= "endereco do banco de dados oracle";
private String USARNAME = "usuario";
private String PASSWORD = "senha";
private Connection conn;
private JTextArea TxtArquivo;
private JFileChooser Arquivo;
private JButton CmdEscolher, CmdSalvar;
private JButton Cmdconsulta; // declarando o novo botao para consulta no banco
private JScrollPane js;
private void setCenter(JFrame frame) {
//51
Dimension paneSize = frame.getSize();
Dimension screenSize = frame.getToolkit().getScreenSize();
frame.setLocation( (screenSize.width - paneSize.width) / 2, (screenSize.height - paneSize.height) / 2);
}
public Tentativa(){
try{
Class.forName(this.Drive);
this.conn = DriverManager.getConnection(URL, USARNAME, PASSWORD);
} catch (ClassNotFoundException e){
System.out.println("Não foi possivel encontrar o driver de banco: " + e.getMessage());
} catch(SQLException e){
System.out.println("Erro ao conectar com o banco: " + e.getMessage());
}
setSize(400, 450);
setResizable(false);
setTitle("Abrindo um arquivo TXT");
setCenter(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cp = getContentPane();
cp.setLayout(null);
Arquivo = new JFileChooser(".");
CmdSalvar = new JButton("Salvar arquivo");
CmdSalvar.setBounds(50,10,140,25);
CmdSalvar.addActionListener(this);
cp.add(CmdSalvar);
CmdEscolher = new JButton("Escolher arquivo");
CmdEscolher.setBounds(200,10,140,25);
CmdEscolher.addActionListener(this);
cp.add(CmdEscolher);
//botao para consultar no banco de dados
Cmdconsulta = new JButton ("Consulta no Banco");
Cmdconsulta.setBounds(120, 350, 140, 25);
Cmdconsulta.addActionListener(this);
cp.add(Cmdconsulta);
TxtArquivo = new JTextArea();
TxtArquivo.setLineWrap(true);
js = new JScrollPane(TxtArquivo);
js.setBounds(5,40,385,280);
js.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
cp.add(js);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == CmdEscolher){
int res = Arquivo.showOpenDialog(this);
if(res == JFileChooser.APPROVE_OPTION){
File arq = Arquivo.getSelectedFile();
try{
TxtArquivo.setText(retornaString(arq.getPath()));
} catch(Exception ex){
JOptionPane.showMessageDialog(null, "Não foi possível abrir o arquivo" + arq.getPath() + "!", "Leitura de arquivo", JOptionPane.ERROR_MESSAGE);
}
}
}
if(e.getSource() == CmdSalvar){
int res = Arquivo.showSaveDialog(this);
if(res == JFileChooser.APPROVE_OPTION){
File arq = Arquivo.getSelectedFile();
try{
escreveArquivo(TxtArquivo.getText(), arq.getPath());
} catch(IOException ioe){
JOptionPane.showMessageDialog(null, "Não foi possível salvar arquivo!");
}
}
}
if(e.getSource() == Cmdconsulta){
try{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
String url = "endereco do banco de dados;
this.conn = DriverManager.getConnection (url, "nome do servido ", "nome e numero do servido");
Statement st = conn.createStatement();
// Tentativa conexao atraves do butao de consulta
ResultSet rs = st.executeQuery("select nome_tabela1, nome_tabela2, nome_tabela2, from condição"); // executando a query
//imprimindo a o resutado
while( rs.next()){
String strnome_tabela1 = rs.getString("nome_tabela1");
String strnome_tabela2 = rs.getString("nome_tabela2");
String strnome_tabela3 = rs.getString("nome_tabela3");
System.out.println("Atribuindo String");
TxtArquivo.append(strnome_tabela1);
TxtArquivo.append(" ");
TxtArquivo.append(strnome_tabela2);
TxtArquivo.append(" ");
TxtArquivo.append(strnome_tabela3);
TxtArquivo.append(" \n");
}
rs.close();
st.close();
conn.close();
}catch(SQLException e1){
System.out.println("Erro ao conectar ao banco");
e1.printStackTrace();
}finally{ // Finalizando a conexão
System.out.println("Encerrando a conexão");
}
}
}
//ler linhas do arquivos txt selecionados com o butao escolher e imprimi no textArea somente as linhas que começam com a letra b
public String retornaString(String fileName) throws IOException {
BufferedReader in = new BufferedReader(new FileReader(fileName));
String line;
StringBuffer buffer = new StringBuffer();
char tmp;
while( (line = in.readLine()) != null ){
tmp = line.charAt(0);
if(tmp == 'b'){
buffer.append(line + "\n");
}
}
in.close();
return buffer.toString();
}
public void escreveArquivo(String conteudo, String fileName) throws IOException {
PrintWriter out = new PrintWriter(new FileWriter(fileName));
out.print(conteudo);
out.close();
JOptionPane.showMessageDialog(null, "Arquivo salvo com sucesso!");
}
public static void main(String args[]){
Tentativa app = new Tentativa();
String url = "endereco do banco de dados oracle";
app.show();
}
}
:lol:
eu acho que eu tenho que criar uma array para guardar os valores das linhas da tabelas e poder verificar se eles tem menos de oito caracteres!
Sera que alguem ai poder me ajudar? 