----- 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 +.
> 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.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)
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)
