sábado, 31 de maio de 2008

A G B D

(aula de 12/4/2008)
Atendendo a pedidos, rs...

Criação da Classe JavaOracleBD

import java.sql.*
import javax.swing.*

public class JavaOracleBD{
//dados para conexão
//nome do driver fornecido pela documentação do fabricante

String driver = "oracle.jdbc.OracleDriver.";

//fonte de dados, usuário e senha para a conexão ao BD
String url = "jdbc.oracle:thin:@125.115.0.3";
String usuario = "seu_nome";
String senha = "sua_senha";

//Objetos para conexão
private Connection con = null;
private Statement stmt = null;
private ResultSet rs = null;

//Definição de dados da tabela
private String matricula = null;
private String nome = null;

//Abrir banco de dados
public void AbrirBD()
{
try
{
//Cria objetos de conexão
Class.forName(driver);
con = DriverManager.getConnection(url, usuario, senha);
stmt = con.createStatement();
javax.swing.JOptionPane.showMessageDialog(null,
"Conexão com o Oracle estabelecida com sucesso!",
"Banco de Dados",
"JOptionPane.INFORMATION_MESSAGE);
}
catch(ClassNotFoundException e)
{
javax.swing.JOptionPane.showMessageDialog(null,
"Ocorreu um erro ao abrir o Oracle : driver JDBC-ODBC
não encontrado! " + e,
"Banco de Dados",
"JOptionPane.ERROR_MESSAGE);
System.exit(1); //encerra
}
catch(SQLException e)
{
javax.swing.JOptionPane.showMessageDialog(null,
"Problemas na conexão com a fonte de dados! " + e,
"Banco de Dados",
"JOptionPane.ERROR_MESSAGE);

}
}

public void fecharBD()
{
try
{
con.Close();
}
catch(SQLException e)
{
javax.swing.JOptionPane.showMessageDialog(null,
"Ocorreu um erro ao abrir fechar o BD Oracle ",
"Banco de Dados",
"JOptionPane.ERROR_MESSAGE);
System.exit(0); //encerra
}
}

public void GravarBD(String sql, int IncAlt)
{
try
{
stmt.executeUpdate(sql);

//inclusao
if (IncAlt == 1)
JOptionPane.showMessageDialog(null,
"Registro Inserido com Sucesso!",
"Banco de Dados",
JOptionPane.INFORMATION_MESSAGE);
else

JOptionPane.showMessageDialog(null,
"Atualização Realizada com Sucesso!",
"Banco de Dados",
JOptionPane.INFORMATION_MESSAGE);
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,
"Ocorreu um erro ao gravar: " + e,
"Banco de Dados",
JOptionPane.ERROR_MESSAGE);
}
}

//consulta por Matricula
public void Consultar(String sql)
{
try
{
rs = stmt.executeQuery(sql);
if(rs.next())
{
setMatricula(rs.getString("Matricula"));
setNome(rs.getString("Nome"));
}
}
catch(SQLException e)
{
setMatricula(null);
setNome(null);
JOptionPane.showMessageDialog(null,
"Erro de leitura: " + e,
"Erro",
JOptionPane.ERROR_MESSAGE);
}
}



Para criar os métodos get e set dos campos Matricula e Nome, no NetBeans, siga os passos:
  • clique sobre o projeto com o botão direito;
  • vá até a opção refatorar;
  • subopção encapsular campos;
  • Na tela que se abrir, marque as caixas dos campos Matriculas e Nome referentes às colunas get e set.

sexta-feira, 30 de maio de 2008

Materiais do Dimas

Já tem no grupo. E nestes links alternativos:

Administração Mercadológica (Mais de 100 slides (pqp!))
  1. Definições e Conceitos de Marketing

Criação de Micro e Pequenas Empresas
  1. Empreendedorismo
  2. Administração de Vendas
  3. Criação de Novas Empresas

Planejamento de Negócios
  1. Oportunidades de Negócios na Área de Banco de Dados
  2. Plano de Negócios - Teoria e Prática
  3. Estratégia de Cluster

Apresentação do Interdisciplinar

INTERDISCIPLINAR

Datas: 4 e 6 de junho
Horário: a partir das 20h45

P/ Apresentação:entregar o projeto em CD com
  • documentação
  • codigo fonte
Dinâmica da apresentação:
  • 20 minutos para apresentação
  • 10 minutos para perguntas
Os tópicos podem ser consultados aqui:
  • http://sorveteriapolonorte.wikispaces.com/0+Topicos2

Bingo CBB

(Ei, este blog está muito sério, vai um post para descontrair...)
(Sei que o semestre tá acabando, mas...)
Você dorme durante as aulas do Dimas? Sente um tédio imenso durante a aula? Seus problemas acabaram!

Chegou o método super eficaz para combater esse problema: BUSINESS BINGO TABAJARA - VERSAO CBB (CACHAÇA DO BIT BYTE)

Como Jogar:
1. Prepare um quadro como o que segue antes de começar a aula.
2. Sempre que nosso ilustre professor falar a palavra ou expressão contida numa das casas, marque a mesma.
3. Quando completar uma linha, coluna ou diagonal, grite “BINGO”. Os resultados serão impressionantes


(clique na imagem para ver maior)

sábado, 17 de maio de 2008

A.G.B.D.

Inserir procedure no Oracle

create or replace procedure "Aumenta_Salario"
(percentual IN NUMBER,
depto IN varchar2)
IS
BEGIN
UPDATE EMP SET SALARIO = SALARIO * percentual
WHERE Cod_Depto = depto;
end;
/


Crie um formulário no Java com o seguinte layout.



Faça a conexão com o Oracle

Código do btAplicarAumento

double percentual = 0;
String depto;
if(cboPercentual.getSelectedIndex()==0){percentual=1.05;}
if(cboPercentual.getSelectedIndex()==1){percentual=1.10;}
if(cboPercentual.getSelectedIndex()==2){percentual=1.15;}
if(cboPercentual.getSelectedIndex()==3){percentual=1.25;}
depto = tDepto.getText();
try
{
CallableStatement cs = con.prepareCall("{call aumenta_salario(?, ?)}");
cs.setDouble(1, percentual);
cs.setString(2, depto);
cs.execute();
javax.swing.JOptionPane.showMessageDialog(null, "Aumento Realizado com sucesso!", "Banco de Dados", JOptionPane.INFORMATION_MESSAGE);
}
catch(SQLException e)
{
javax.swing.JOptionPane.showMessageDialog(null, "Problemas ao executar a procedure!" + e, "Banco de Dados", JOptionPane.ERROR_MESSAGE);
}

sexta-feira, 16 de maio de 2008

Apresentação do Interdisciplinar

Apresentação Interdisciplinar

Dias 4 e 6 de junho, às 20h45
20 minutos de apresentação + 10 minutos para perguntas

sábado, 10 de maio de 2008

Material do CD do João Aguiar

Materiais de algumas matérias disponíveis em
http://fatec1s06.4shared.com/


Materiais da disciplina de Administração Financeira e Orçamentária, do João Aguiar: aqui.


O projeto do netbeans desenvolvido na aula de AGBD de 10/05/2008 está aqui.
A.G.B.D.

JTABLE


É um componente MVC:

Model: responsável pelos dados, controla e distribui os dados na jtable. É implementado através da interface TableModel (AbstractTableModel e DefaultTableModel)

View: responsável pela apresentação.

Controller: é a parte que controla a apresentação dos dados na tabela, é a própria jtable.

import javax.swing.table.DefaultTableModel
private DefaultTableModel modelo;

Código do botão inserir
.
.
. (cast)
modelo = (DefaultTableModel)Tabela.getModel();
try
{
//insere na Tabela
modelo.addRow(new Object[]{tRA.getText(), tNome.getText(), tCodDisciplina.getText(), tSemestre.getText(), tAno.getText()});

String Sql = "INSERT INTO MATRICULA(RA, NOME, CODDISCIPLINA, NOMEALUNO, SEMESTRE, ANOLETIVO) VALUES('" + tRA.getText() + " ',' " + tNome.getText() + " ',' " + tDisciplina.getText() + " ',' " + tSemestre.getText() + " ',' " + tAno.getText() + " ') ";

meuBD.GravarBD(Sql, 1);
2

//limpa campos
limpaCampos();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, "Verifique, dados incorretos!", "Erro!", JOptionPane.ERROR_MESSAGE);
}

Código para botão Excluir

modelo = (DefaultTableModel)Tabela.getModel();

try
{
modelo.removeRow(Tabela.getSelectedRow());
limpaDados();
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, "Selecione uma linha!", "Erro!", JOptionPane.ERROR_MESSAGE);
}

Código Botão excluir Todos

modelo = (DefaultTableModel)Tabela.getModel();

for(int i = Tabela.getRowCount()-1; i>=0; i--)
{
modelo.RemoveRow(i);
}

//método limpaCampos
private void limpaCampos()
{
tRA.setText(""); tNome.setText("");
tDisciplina.setText(""); tSemestre.setText("");
tAno.setText("");
}

Código p/ Botão Alterar

modelo = (DefaultTableModel)Tabela.getModel();
int linha = Tabela.getSelectedRow();

modelo.setValueAt(tRA.getText(), linha, 0);
modelo.setValueAt(tNome.getText(), linha, 1);
modelo.setValueAt(tDisciplina.getText(), linha, 2);
modelo.setValueAt(tSemestre.getText(), linha, 3);
modelo.setValueAt(tAno.getText(), linha, 4);

limpaCampos();

Código para o evento MouseClick da Tabela

modelo = (DefaultTableModel)Tabela.getModel();
int linha = Tabela.getSelectedRow();

tRA.setText(modelo.getValueAt(linha, 0).toString());
tNome.setText(modelo.getValueAt(linha, 1).toString());
tDisciplina.setText(modelo.getValueAt(linha, 2).toString());
tSemestre.setText(modelo.getValueAt(linha, 3).toString());
tAno.setText(modelo.getValueAt(linha, 4).toString());