Continuando a série de artigos sobre a implementação do banco de dados sqlite na Game Engine do Blender, hoje vamos criar o Banco de dados a ser usado no nosso jogo(programa). Já somos capazes de importar o módulo sqlite3 para a Game Engine, mesmo sem ter o Python instalado no PC. Se não viu como fazer isso, leia as primeiras partes do artigo,clicando nos Links abaixo:
Implementando um banco de dados sqlite3 na Game Engine do Blender parte 1
Implementando um banco de dados sqlite3 na Game Engine do Blender parte 2
Para criar um Banco de dados sqlite3, vamos usar a consola do Python. Acho muito bom criar o banco e as tabelas num script separado do que vai executar no Blender, e só depois criar os scripts para manipulação. Faço isso para separar os comandos de inserção de tabelas, com os outros comandos, pois ao rodar o script pela segunda vez, daria um erro dizendo que as tabelas já existem.
Para criar o Banco de dados, vamos recorrer as documentações do Python 2.5 e do sqlite3. As documentações são longas, um verdadeiro curso! Mas se ler apenas os pontos interessantes, você poderá facilmente criar um banco de dados sqlite3( Com aqueles conhecimentos básicos de SQL, que você tem! Se não tem procura aqui no Techmoz, ou no Google). Vamos criar um banco de dados chamado db, que terá apenas uma tabela(jogador), com 3 colunas(Nome, apelido,idade). Depois vamos inserir alguns dados iniciais na tabela, para no fim, manipularmos estes dados no Game Engine.
Vou passar aqui o programa que eu usei para criar o banco de dados, e algumas considerações a ter em conta. A primeira, o sqlite funciona como um arquivo de texto, ou seja, ao fazer a conexão com o banco de dados, ele primeiro verifica se o banco existe. Se existe, ele conecta, e se não existe, ele cria um novo. Então podemos começar por o nosso programa importando o módulo sqlite3 e estabelecendo a conexão:
import sqlite3 conn=sqlite3.connect(“db”)
Feito isto, o Python irá criar um arquivo db no mesmo directório que o interpretador( Eu estava usando a consola interactiva, por isso se o seu resultado for diferente, nada de pedras para mim!). Já estabelecemos a conexão, e ele automaticamente criou o banco de dados db. Agora nos falta criar o cursor, que fará com que possamos executar os comandos SQL para inserir, editar,etc. os dados do nosso banco de dados:
cursor=conn.cursor()
Com o cursor criado, podemos começar a manipular o nosso banco de dados, adicionando a tabela:
cursor.execute(“CREATE TABLE jogador(nome TEXT,apelido TEXT,idade INTEGER)”)
O nosso banco de dados já possui uma tabela, podemos inserir dados na tabela. Para fazer isso, vamos usar métodos mais inteligentes( Você pode não achar isso importante, mas na prática te ajudará muito…), fornecidos pelo Python para a manipulação do Banco de dados sqlite3, veja só:
lista=[[“Elisio”,”Leonardo”,3][“Daniel”,”Miranda”,34][“Pedro”,”Guerra”,40][“Backstageel”,”INFOmz”]] for linha in lista: cursor.execute(“INSERT INTO jogador VALUES(?,?,?)”,linha)
Inserimos os dados, mas ainda tem uma coisa muito importante, que quase me fazia desistir da série de artigos: O sqlite3 não grava automaticamente os dados que são inseridos, ou seja, quando você insere os dados e fecha logo a conexão, não fez nada!!! Para que ele possa gravar os dados, você tem que chamar o commit(), antes de fechar a conexão atual. Então vamos fazer isso, inserindo uma mensagem no fim, para certificarmos que o script foi executado correctamente até ao fim:
conn.commit() conn.close() print “Script executado com sucesso”
E o código completo para este script ficaria assim:
import sqlite3 conn=sqlite3.connect(“db”) cursor=conn.cursor()cursor.execute(“CREATE TABLE jogador(nome TEXT,apelido TEXT,idade INTEGER)”) lista=[[“Elisio”,”Leonardo”,3][“Daniel”,”Miranda”,34][“Pedro”,”Guerra”,40][“Backstageel”,”INFOmz”]] for linha in lista: cursor.execute(“INSERT INTO jogador VALUES(?,?,?)”,linha) conn.commit() conn.close() print “Script executado com sucesso”
Prontos, já temos os nossos dados no Banco, só nos falta certificarmos isso, usando outro script, outra conexão, outro cursor. Você pode fazer isso!
Se tudo funcionou correctamente, então o script já está pronto para ser incorporado na Game Engine do Blender! E é exactamente o que vamos fazer no próximo artigo, por hoje chega…Copie este código e cole no editor de textos do blender, para poder usar como script python
Comentários Recentes