----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, July 10, 2000 4:47 PM
Subject: Ajuda!

>
>   Ol� pessoal, estou com um problema e tenho que resolve-lo com a m�xima
> urg�ncia, � o seguinte:
>  
>    Fiz um aplica��o para acessar o banco de dados, utlizando o drive
> JDBC, consegui acessar no modo texto, a resposta da consulta deu exata.
>    Mas agora criei a interface da aplica��o e n�o consigo jogar o
> resultado da pesquisa feita no Banco de Dados para o TextField da
> aplica��o, ou seja, s� consigo fazer a pesquisa sem a interface gr�fica.
>    Gostaria de saber se algu�m enfrentou um problema parecido, e se tem
> algum exemplo b�sico, de algum acesso ao Bd com interface gr�fica.
>    Muito obrigado, por qualquer ajuda.
>    Ate +.
Olha cara, esse programinha � um bom exemplo para o que tu queres. Tu podes transform�-lo em algo mais gen�rico adicionando uma lista de drivers (ele foi feito para a ponte Jdbc-Odbc). Incrementar esse programa pode ser �til para fazer testes de conex�o e altera��es diretas no banco.
 
import javax.swing.*;
 
import java.awt.*;
import java.awt.event.*;
 
import java.sql.*;
 
public class Program1 extends JFrame
 implements ActionListener
{
 JLabel urlLabel = new JLabel();
 JLabel usrLabel = new JLabel();
 JLabel pswLabel = new JLabel();
 JLabel sqlLabel = new JLabel();
 JTextField url = new JTextField();
 JTextField usr = new JTextField();
 JTextField psw = new JTextField();
 JTextField sql = new JTextField();
 JButton exec = new JButton("Execute");
 JTextArea res = new JTextArea();
 
 Program1() {
  super("Utilizando SELECT com a ponte Jdbc-Odbc");
  setContentPane(createLayout());
 }
 
 JPanel createLayout() {
  urlLabel = new JLabel("Nome do DataSource (ODBC):");
  usrLabel = new JLabel("Username:");
  pswLabel = new JLabel("Password:");
  sqlLabel = new JLabel("Comando select:");
  
  url = new JTextField();
  usr = new JTextField();
  psw = new JTextField();
  
  sql = new JTextField();
  sql.addActionListener(this);
  
  exec = new JButton("Execute");
  exec.addActionListener(this);
  
  JScrollPane scroll =
   new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
   JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
  scroll.getViewport().add(res);
  
  JPanel panel0 = new JPanel();
  panel0.setLayout(new GridLayout(4, 2));
  panel0.add(urlLabel);
  panel0.add(url);
  panel0.add(usrLabel);
  panel0.add(usr);
  panel0.add(pswLabel);
  panel0.add(psw);
  panel0.add(sqlLabel);
  panel0.add(sql);
  
  JPanel contentPane = new JPanel();
  contentPane.setLayout(new BorderLayout());
  contentPane.add(BorderLayout.NORTH, panel0);
  contentPane.add(BorderLayout.CENTER, scroll);
  contentPane.add(BorderLayout.SOUTH, exec);
  return contentPane;
 }
 
 void appendResult(ResultSet rs) 
  throws Exception
 {
  int n = rs.getMetaData().getColumnCount();
  
  while (rs.next()) {
   for (int i = 1; i <= n; i++) {
    res.append(rs.getString(i) + "\n");
   }
  } 
 }
 
 public void actionPerformed(ActionEvent e) {
  String url_ = "jdbc:odbc:" + url.getText();
  String usr_ = usr.getText();
  String psw_ = psw.getText();
  String sql_ = sql.getText();
  
  try {
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   Connection conn = DriverManager.getConnection(url_, usr_, psw_);
   appendResult(conn.createStatement().executeQuery(sql_));
   conn.close();
  } catch (Exception ex) {
   ex.printStackTrace();
  }
 }
 
 static void main(String args[]) {
  Program1 app = new Program1();
  app.setSize(400, 300);
  app.setVisible(true);
  app.addWindowListener(new WindowAdapter() {
   public void windowClosing(WindowEvent e) {
    System.exit(0);
   }
  }); 
 } 
} // by Rafael de Castro Forte (Matem�tica Computacional - UFRGS - RS)
  • Ajuda! muchmoney
    • Rafael Forte

Responder a