Ir ao conteúdo

Java com banco de dados


flp.bn

Posts recomendados

Postado

eu estou fazendo um programa q eu preciso conectar ao banco de dados e mostrar os dados nas jTextField, como faço para conectar e mostrar os dados...

ate agora o que eu fiz foi o seguinte

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.sql.*;

/**

*

* @author rm61350

*/

public class JanelaEscola extends javax.swing.JFrame {

private static String driver,url;

private Statement comando;

private Connection conexao;

private ResultSet resultado;

/** Creates new form JanelaEscola */

public JanelaEscola() {

initComponents();

driver="sun.jdbc.odbc.JdbcOdbcDriver";

url="jdbc:odbc:DB";

}

public void conecta(){

try{

// carrega o driver da ponte jdbc-odbc

Class.forName(driver);

// abre conexao com o banco de dados

conexao=DriverManager.getConnection(url,"rm61350","senha");

System.out.println("Conexão executada com sucesso");

}

catch(SQLException SqlExc){

System.out.println("Erro de SQL!");

}

catch(ClassNotFoundException exc){

System.out.println("Classe não encontrada!");

}}

public void listaDados (){

String sql="select CodEscola,endereço,nomeescola,telescola from Escola";

try{

comando =conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE );

resultado=comando.executeQuery(sql);

atualizaCampos();

}

catch(SQLException SqlExc){

System.out.println("Erro de SQL!");

}

}

public void atualizaCampos(){

try{

jTextField1.setText(resultado.getString("codEscola"));

jTextField2.setText(resultado.getString("endereço"));

jTextField3.setText(resultado.getString("nomeescola"));

jTextField4.setText(resultado.getString("telescola"));

}

catch(SQLException SqlExc){

System.out.println("Erro de SQL!");

}

}

/** This method is called from within the constructor to

* initialize the form.

* WARNING: Do NOT modify this code. The content of this method is

* always regenerated by the Form Editor.

*/

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jLabel1 = new javax.swing.JLabel();

jTextField1 = new javax.swing.JTextField();

jLabel2 = new javax.swing.JLabel();

jTextField2 = new javax.swing.JTextField();

jLabel3 = new javax.swing.JLabel();

jTextField3 = new javax.swing.JTextField();

jLabel4 = new javax.swing.JLabel();

jTextField4 = new javax.swing.JTextField();

jButton1 = new javax.swing.JButton();

menuBar = new javax.swing.JMenuBar();

fileMenu = new javax.swing.JMenu();

openMenuItem = new javax.swing.JMenuItem();

saveMenuItem = new javax.swing.JMenuItem();

saveAsMenuItem = new javax.swing.JMenuItem();

exitMenuItem = new javax.swing.JMenuItem();

editMenu = new javax.swing.JMenu();

cutMenuItem = new javax.swing.JMenuItem();

copyMenuItem = new javax.swing.JMenuItem();

pasteMenuItem = new javax.swing.JMenuItem();

deleteMenuItem = new javax.swing.JMenuItem();

helpMenu = new javax.swing.JMenu();

contentsMenuItem = new javax.swing.JMenuItem();

aboutMenuItem = new javax.swing.JMenuItem();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jLabel1.setText("Código da Escola");

jTextField1.setEnabled(false);

jTextField1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jTextField1ActionPerformed(evt);

}

});

jLabel2.setText("Nome da Escola");

jTextField2.setEnabled(false);

jLabel3.setText("Endereço");

jTextField3.setEnabled(false);

jLabel4.setText("Telefone");

jTextField4.setEnabled(false);

jButton1.setText("Fechar");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

fileMenu.setText("File");

openMenuItem.setText("Open");

fileMenu.add(openMenuItem);

saveMenuItem.setText("Save");

fileMenu.add(saveMenuItem);

saveAsMenuItem.setText("Save As ...");

fileMenu.add(saveAsMenuItem);

exitMenuItem.setText("Exit");

exitMenuItem.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

exitMenuItemActionPerformed(evt);

}

});

fileMenu.add(exitMenuItem);

menuBar.add(fileMenu);

editMenu.setText("Edit");

cutMenuItem.setText("Cut");

editMenu.add(cutMenuItem);

copyMenuItem.setText("Copy");

editMenu.add(copyMenuItem);

pasteMenuItem.setText("Paste");

editMenu.add(pasteMenuItem);

deleteMenuItem.setText("Delete");

editMenu.add(deleteMenuItem);

menuBar.add(editMenu);

helpMenu.setText("Help");

contentsMenuItem.setText("Contents");

helpMenu.add(contentsMenuItem);

aboutMenuItem.setText("About");

helpMenu.add(aboutMenuItem);

menuBar.add(helpMenu);

setJMenuBar(menuBar);

org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(layout.createSequentialGroup()

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(layout.createSequentialGroup()

.addContainerGap()

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jTextField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE)

.add(jLabel1)

.add(jLabel2)

.add(jTextField2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE)

.add(jLabel3)

.add(jTextField3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE)

.add(jLabel4)

.add(jTextField4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE)))

.add(layout.createSequentialGroup()

.add(147, 147, 147)

.add(jButton1)))

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(layout.createSequentialGroup()

.addContainerGap()

.add(jLabel1)

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(18, 18, 18)

.add(jLabel2)

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(jTextField2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(18, 18, 18)

.add(jLabel3)

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(jTextField3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(18, 18, 18)

.add(jLabel4)

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(jTextField4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(18, 18, 18)

.add(jButton1)

.addContainerGap(13, Short.MAX_VALUE))

);

pack();

}// </editor-fold>

private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {

this.setDefaultCloseOperation(JanelaEscola.DISPOSE_ON_CLOSE);

this.setVisible(false);

this.dispose();

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

this.setDefaultCloseOperation(JanelaEscola.DISPOSE_ON_CLOSE);

this.setVisible(false);

this.dispose();

}

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {

}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

JanelaEscola tdml = new JanelaEscola();

tdml.conecta();

tdml.listaDados();

new JanelaEscola().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JMenuItem aboutMenuItem;

private javax.swing.JMenuItem contentsMenuItem;

private javax.swing.JMenuItem copyMenuItem;

private javax.swing.JMenuItem cutMenuItem;

private javax.swing.JMenuItem deleteMenuItem;

private javax.swing.JMenu editMenu;

private javax.swing.JMenuItem exitMenuItem;

private javax.swing.JMenu fileMenu;

private javax.swing.JMenu helpMenu;

private javax.swing.JButton jButton1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JTextField jTextField1;

private javax.swing.JTextField jTextField2;

private javax.swing.JTextField jTextField3;

private javax.swing.JTextField jTextField4;

private javax.swing.JMenuBar menuBar;

private javax.swing.JMenuItem openMenuItem;

private javax.swing.JMenuItem pasteMenuItem;

private javax.swing.JMenuItem saveAsMenuItem;

private javax.swing.JMenuItem saveMenuItem;

// End of variables declaration

}

diz que está conectando ao banco, porém não exibe nenhum dado existente no banco

Postado

Nunca fiz conexão com BD através de ODBC, mas acho que você deve conectar seu banco à ponte ODBC. Outra opção é utilizar um driver para fazer conexão direto com o BD que você usa, isto iria inclusive dar mais performance nas transações com o BD.

Postado

Cara, o teu projeto ta todo embaralhado, procura alguma coisa sobre pacotes de classes facade, bean, dao e view... tu ta colocando as 3 juntas pelo que eu to vendo...

Depois que você montar uma estrutura coesa e com baixo acoplamento (onde cada classe ou método tem uma função específica e bem definida) ficará bem mais fácil de enteder o código...

Você também tem que usar um arquivo jar (drive de conexao ao bd) específico para o seu SGBD (postgres, mysql, access...) para fazer a conexao...

Dica: procure criar pacotes para agrupar suas classes, como se fossem (na verdade são...) arquivos em pastas

Postado

o banco de dados q estou usando é o sql server, e o IDE é o netbeans 6.0...

eu fiz alguns testes colocando alguns valores no sql server, e ao executar o programa no netbeans aparece os valores numa janela do netbeans, na janela do programa q eu criei não aparece nada, ou seja, ele está lendo os dados + anum esta mostrando na JTextField, o que pode ser e como resolver???

Postado

Primeiramente, essa consulta SQL que você faz vai retornar todos os dados da tabela, se você quer apenas uma linha da tabela tem que restringir no SQL.

por exemplo:


String sql="select CodEscola,endereço,nomeescola,telescola from Escola [B]where CodEscola=3[/B]";

Além disso, um ResultSet é iniciado com o cursor apontando para a posição antes da primeira, ou seja se você quiser acessar a primeira posição do ResultSet deve usar o método .next() .

http://java.sun.com/javase/6/docs/api/java/sql/ResultSet.html

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!