Database – Tables Fields – Manipulando campos – Oracle – DB2 – MSSQL – Java

Publicado: 27 de maio de 2014 em Java

É permitido manipular um resultado de uma pesquisa no banco de dados através do seu código Java usando um objeto ResultSet, você pode selecionar qualquer campo contido em uma ou mais linhas de dados à partir do conteúdo de seu set de dados e escolher as colunas desejadas pelo nome ou índice, você pode exibi-las em uma grade ou em campos de edição.

Database  - Table Fields

Database – Table Fields

Para utilizar uma linha de dados por coluna em Java nos bancos de dados Oracle, DB2 e MSSQL, siga os seguintes passos:

1 – Crie a tabela de exemplo e insira as linhas de dados com o script para o seu banco de dados que você encontra logo abaixo:

Script SQL

Script SQL

Exemplo:

Este programa foi escrito para retornar uma linha de dados em uma tabela e exibir os campos em caixas de textos.

SQL

Oracle

create table Funcionarios  
(     
    
    ID_Funcionario  NUMBER(5), 
    Nome            VARCHAR2(30), 
    Sobrenome       VARCHAR2(70), 
    Cargo           VARCHAR2(30), 
    Salario         NUMBER(9,2)
    
);

Insert into FUNCIONARIOS values (1,'Steve','Gates','Programador',2550.56);
Insert into FUNCIONARIOS values (2,'Bill','Jobs','Diretor',5143.71);

DB2

create table Funcionarios  
(     
    
    ID_Funcionario  INTEGER, 
    Nome            VARCHAR(30), 
    Sobrenome       VARCHAR(70), 
    Cargo           VARCHAR(30), 
    Salario         NUMERIC(9,2)
    
);

Insert into FUNCIONARIOS values (1,'Steve','Gates','Programador',2550.56);
Insert into FUNCIONARIOS values (2,'Bill','Jobs','Diretor',5143.71);

Mssql

create table Funcionarios  
(     
    
    ID_Funcionario  Int, 
    Nome            VARCHAR(30), 
    Sobrenome       VARCHAR(70), 
    Cargo           VARCHAR(30), 
    Salario         Decimal(9,2)
    
);

Insert into FUNCIONARIOS values (1,'Steve','Gates','Programador',2550.56);
Insert into FUNCIONARIOS values (2,'Bill','Jobs','Diretor',5143.71);

Java

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.Border;
import javax.swing.border.EtchedBorder;

public class Campos implements ActionListener 
{
	// Declara componentes
	private JLabel ltitulo; 
	private JLabel lid;
	private JLabel lpnome;
	private JLabel lsnome;
	private JLabel lcargo;
	private JLabel lsalario;
	private JLabel lpesquisa;
	
	private JTextField tid;
	private JTextField tpnome;
	private JTextField tsnome;
	private JTextField tcargo;
	private JTextField tsalario;
	private JTextField tpesquisa;
	
	private JButton botao;
	
	private Border borda;
	
	// Declara objetos de conexão
	private static Connection conn;
	private static Statement query;
	
	// Declara variaveis
	private String bconexao;
	
	// Cria conexão
	public void conectar(String banco) {

		// Verifica strings de conexão

		// ORACLE
		if (banco == "oracle") {
			try {
				// Define Driver de conexão JDBC thin
				Class.forName("oracle.jdbc.driver.OracleDriver");
				conn = DriverManager.getConnection(
						"jdbc:oracle:thin:@localhost:1521:xe", "user", "p@55w0rd");

				// Executa pedido SQL
				query = conn.createStatement();

			}

			catch (ClassNotFoundException ex) {
				ex.printStackTrace();
			}

			catch (SQLException ex) {
				ex.printStackTrace();
			}
		}

		// DB2
		if (banco == "db2") {
			try {
				// Define Driver de conexão JDBC
				Class.forName("com.ibm.db2.jcc.DB2Driver");
				conn = DriverManager.getConnection(
						"jdbc:derby:net://localhost:50000/deva", "db2admin", "p@55w0rd");

				// Executa pedido SQL
				query = conn.createStatement();
				// JOptionPane.showMessageDialog(menssagem,
				// "Conexão Efetuada com sucesso!");
			}

			catch (ClassNotFoundException ex) {
				ex.printStackTrace();
			}

			catch (SQLException ex) {
				// JOptionPane.showMessageDialog(menssagem, "Erro na conexão!");
				ex.printStackTrace();
			}

		}

		// MICROSOFT SQL SERVER
		if (banco == "mssql") {
			try {
				// Define Driver de conexão JDBC
				String URL = "jdbc:sqlserver://localhost\\SQLEXPRESS:1433;databaseName=devaberto"
						+ ";user=user;password=p@55w0rd";

				Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
				conn = DriverManager.getConnection(URL);

				// Executa pedido SQL
				query = conn.createStatement();

			}

			catch (ClassNotFoundException ex) {
				ex.printStackTrace();
			}

			catch (SQLException ex) {
				ex.printStackTrace();
			}

		}

	}
	
	// Retorna funcionario
	public ResultSet retornaFuncionarioId(String codigo) throws SQLException 
	{
		// Cria uma nova conexão
		Statement query;
		query = conn.createStatement();
		String sql;

		// Verfica banco de dados e passa script SQL
		
	   sql = "Select * From FUNCIONARIOS Where  ID_FUNCIONARIO = " + codigo;
		
		// Executa Script
		ResultSet dados = query.executeQuery(sql);

		// Retorna set de dados
		return dados;
	}


	public Container criaPainel()
	{
		// cria painel
		JPanel painel = new JPanel();
		painel.setLayout(new BorderLayout());
		painel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
		
		// Cria titulo
		ltitulo = new JLabel("Database - Fields -Sem conexão");
		
		painel.add(ltitulo, BorderLayout.PAGE_START);
		
		// Cria painel de usuario
        JPanel painelDados = new JPanel(new GridLayout(0, 2, 10, 10));
        
        // Cria componentes
        lid = new JLabel("Código:");
        lpnome = new JLabel("Primeiro Nome:");
        lsnome = new JLabel("Sobrenome:");
        lcargo = new JLabel("Cargo:");
		lsalario = new JLabel("Salário:");
		
		tid = new JTextField();
		tpnome = new JTextField();
		tsnome = new JTextField();
		tcargo = new JTextField();
		tsalario = new JTextField();
		
		// Adiciona componentes no painel
		painelDados.add(Box.createVerticalStrut(10));
		painelDados.add(Box.createVerticalStrut(10));
		painelDados.add(lid);
		painelDados.add(tid);
		painelDados.add(lpnome);
		painelDados.add(tpnome);
		painelDados.add(lsnome);
		painelDados.add(tsnome);
		painelDados.add(lcargo);
		painelDados.add(tcargo);
		painelDados.add(lsalario);
		painelDados.add(tsalario);
		painelDados.add(Box.createVerticalStrut(10));
		painelDados.add(Box.createVerticalStrut(10));
		
		painel.add(painelDados, BorderLayout.CENTER);
		
		// Cria painel de pesquisa
		JPanel painelPesquisa = new JPanel(new GridLayout(0, 3, 10, 10));
		borda = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED);
		painelPesquisa.setBorder(borda);
		
		// Cria pesquisas
		lpesquisa = new JLabel("Pesquisa código:");
		tpesquisa = new JTextField();
		botao = new JButton("Pesquisar");
		botao.addActionListener(this);
				
		// Define foco do cursor no campo de pesquisa
		javax.swing.SwingUtilities.invokeLater(new Runnable() {   
		    public void run() {   
		        tpesquisa.requestFocus();   
		    }   
		});  

		// Adiciona compoentes ao painel de pesquisa
		painelPesquisa.add(lpesquisa);
		painelPesquisa.add(tpesquisa);
		painelPesquisa.add(botao);
		
		painel.add(painelPesquisa, BorderLayout.PAGE_END);
		
		return painel;
	}
	
	
	// Clique do botão de pesquisa
	public void actionPerformed(ActionEvent arg0) 
	{
		// Cria instancia de objeto
		Campos campos = new Campos();
		
		// conecta ao banco de dados defindo
		//  mude a variavel bconexao para escolher o banco de dados
		// importe os drivers para o projeto
		// oracle = ORACLE
		// db2 = IBM DB2
		// mssql = MSSQL Server
		
		bconexao = "oracle";
		campos.conectar(bconexao);
		
		// retorna result de dados
		try
		{
			ResultSet dados = campos.retornaFuncionarioId(tpesquisa.getText());
			ltitulo.setText("Database - Fields - " + bconexao);
			
			// Preenche campos da tela
			while (dados.next())
			{
				tid.setText(dados.getString("ID_FUNCIONARIO"));
				tpnome.setText(dados.getString("NOME"));
				tsnome.setText(dados.getString("SOBRENOME"));				
				tcargo.setText(dados.getString("CARGO"));	
				tsalario.setText(dados.getString("SALARIO"));
			}
			
		}
		catch (SQLException e)
		{
			e.printStackTrace();		
		}		
		
	}
	
	public static void criaGUI() 
	{
			// Cria formulario
			JFrame formulario = new JFrame("Desenvolvimento Aberto");
			formulario.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

			// cria painel de conteudo
			Campos acesso = new Campos();
			
			formulario.setContentPane(acesso.criaPainel());
			
			// Exibe o formulario
			formulario.pack();
			formulario.setVisible(true);
		
	}

	public static void main(String[] args) {
		
		javax.swing.SwingUtilities.invokeLater(new Runnable() {
			
			@Override
			public void run() {
		
				// Mostra GUI
				criaGUI();				
				
			}
		});		

	}

}

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s