Monthly Archives: April 2008

PacContest UniDev

AVISO!

O Contest de PacMan da UniDev está se acabando! Acaba dia 30, hein!

Você se acha capaz de entrar agora e terminar um jogo para apresentar? Pois nesse contest teve muitos inscritos, porém previstos para sair são só alguns. Se você for capaz de entrar e conseguir terminar um, tá esperando o que?

Ou se você se inscreveu e não fez nada, agora é a hora, corre!

Google Buzz

Conectando a um BD Access com Java

Eu sei que esse não é o foco principal do blog, mas é uma coisa que me pedem muito, então aí vai!

Vamos usar um Banco de Dados Acess com ODBC para conectar com o Java. Tentarei mostrar da forma mais simples possível.

Primeiramente, crie um banco de dados no Access e salve em alguma pasta FIXA do seu projeto (um exemplo, crie uma pasta bf na pasta raiz do seu projeto).

Agora abra o Painel de Controle do Windows, vá em Ferramentas Administrativas -> Fonte de Dados (ODBC). Você pode selecionar a aba Fontes de Dados do Sistema, e então clique em Adicionar. Selecione Driver do Microsoft Access (*.mdb) e clique em Concluir, agora coloque um nome para o Alias do seu banco (esse alias serve para interligar o Java ao Banco), clique em Selecionar e escolha o caminho do banco. Pronto, agora pressione OK e pronto! Vamos então para a melhor parte: Programação! =]

Na sua classe, importe:

import java.sql.*;

Ela é que contém as classes necessárias para se conectar e manipular o banco.

Agora, dentro da classe, você pode definir uns objetos, um Connection, que manipula a conexão em si, e um Statement, que manipula o banco com querys. Assim:

public Connection con;
public Statement stm;

Agora, para facilitar, crie um método chamado Connectar:

public void Conectar()
	{
		//JOptionPane.showMessageDialog(null, "Preparando para iniciar a conexão com o BD;");

		try
		{
			/* Tenta se conectar ao Driver */
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		}
		catch (ClassNotFoundException e)
		{
			JOptionPane.showMessageDialog(null, "Impossível carregar o Driver.");
			System.exit(0);
		}
		try
		{
			/* nomedobanco é o nome que você deu anteriormente ao seu alias */
			con = DriverManager.getConnection("jdbc:odbc:nomedobanco");
			stm = con.createStatement();
		}
		catch (SQLException sqle)
		{
			JOptionPane.showMessageDialog(null, "Problema ao conectar!");
			System.exit(0);
		}

		//JOptionPane.showMessageDialog(null, "Conectado com sucesso!");
	}

Você pode descomentar as linhas que mostram uma mensagem antes de se conectar e depois, só para ver como que é! ^^

Crie também uma função para desconectar, e se possível, chame-a antes de sair do seu programa:

public void Desconectar()
	{
		try
		{
			con.close();
		}
		catch (SQLException sqle)
		{
			JOptionPane.showMessageDialog(null, "Problema ao desconectar!");
			System.exit(0);
		}
	}

Basicamente, agora você já pode se conectar e desconectar ao banco de dados! Excelente não?

Tá, imagino agora que você se perguntou: “Mas como vou manipulá-lo agora?”! Hmm, Boa pergunta!

Para manipular o Banco de Dados em si, como fazer consultas, inserções, remoções, é necessário a utilização de SQL, portanto se você não sabe, é melhor estudar um pouco! hehehe

Então, voltando para o Java…

Lembra-se do objeto Statement que criamos? Então, ele é o ponto chave agora! Para executar uma query, você usa o método execute dele, assim:

stm.execute("INSERT INTO tabela(nome, idade) VALUES('Bruno', 17)");

Porém ele NÃO traz retorno algum, ou seja, se você quiser fazer uma consulta, por exemplo, tem que usar o método executeQuery, que retorna um objeto ResultSet, que contém todo o resgistro retornado do banco de dados, a partir da consulta.

try
{
	ResultSet rs = stm.executeQuery("SELECT * FROM tabela");
	while (rs.next())
	{
		JOptionPane.showMessageDialog(null, "Nome: " + rs.getString("nome") + " - Idade: " + rs.getInt("idade"));
	}
}
catch (SQLException e)
{
	JOptionPane.showMessageDialog(null,"" + e.getMessage(),"Erro",0);
}
finally
{
	rs.close();
}

O Objeto ResultSet, tem um método para pegar cada tipo do banco de dados. Dentro dele vai o parâmetro que é o nome do campo a ser pego!

Fácil? Não exatamente! Isso é muito básico, não inútil, mas básico. Portanto, você concerteza vai precisar de mais material, então acesse este magnífico site que você vai achar de tudo lá! =D

(Muito Obrigado ao ViniGodoy pela ajuda aqui! =D)

Valeu, até a próximaaa!

Google Buzz

Game Contest UniDev e Game PDJ Contest

Ontem saiu o resultado do Game Contest UniDev 2007!

A votação foi composta por dois jurados ilustres, o Christiano da PDJ e o Rômulo De Lazzari da CubaGames, e por votos de usuários. Cada jurado deu sua nota para cada game e uma explicação da nota.

Dos cinco games que terminaram o Contest, a classificação final foi a seguinte:

  1. Seis Medos – 7.53 (correa_elias)
  2. The Target – 7.39 (CrociDB)
  3. Magnatec – 5.04 (poeta_bh)
  4. Galactica – 3.33 (hardrion)
  5. Storm – 2.27 (KeyMaker)

Parabéns ao Correa Elias, pela vitória, muito merecida, por sinal, com o jogo Seis Medos.

Bom, pra mim não foi dessa vez, mas também, esse contest estava muito competitivo, tinha bastantes jogos participando e os que terminaram estavam muito bons, realmente difícil! Então, por isso, parabenizo todos nós que terminamos nossos jogos, isso concerteza já nos faz campeões! =D

E aproveitando a onda de contests, a PDJ liberou a votação para o Game PDJ Contest 2007, em que o The Target também está participando.

Neste contest, há muitos jogos participando, e estão divididos em categorias, como Jogos 2D, Jogos 3D, WebGames, MobileGames, Arte 2D, Arte 3D, Trilha Sonora, Programação e Arte gráfica e Modelagem. Vale a pena você ir lá e testar os jogos lá inscritos! :)

Boa sorte a todos os inscritos! ^^

Google Buzz