Integração Flash com Banco de Dados I - CONCEITOS. Usando o Flash você pode trabalhar não somente com Access, mas como diversos outros tipos de bancos de dados, porém nunca de forma direta. Acontece que o banco de dados de um site deverá sempre ficar hospedados em um servidor, já o filme criado no Flash é carregado e executado dentro da máquina do usuário. Assim você não tem como fazer uma aplicação que rode na máquina do cliente acessar diretamente uma base de dados hospedada em um servidor.
II - COMO FUNCIONA ENTÃO?
O Flash possui comandos que possibilitam acionar URLs passando e recebendo dados de forma transparente para o usuário, ou seja, esse processo acontece, mas o usuário não vê. Dessa forma você pode criar aplicações no servidor que possam receber esses dados do flash e gravar em banco de dados assim como retornar dados do banco para o flash em um formato especial pra que ele encontre as variáveis. Essas aplicações podem ser CGIs feitos nas mais diversas linguagens assim como scripts executados no servidor como ASP ou PHP.
A título de exemplo, imagine que você tem um banco de dados em Access em um servidor que suporta ASP. Se você quer gravar os dados de uma pessoa, como em um guestbook, por exemplo, funcionaria da seguinte forma:
Flash => ASP => Banco de Dados
Ou seja, o movie em flash aciona o ASP que recebe os dados a grava no banco. Para recuperar dados do banco, o filme acionaria o script em ASP que acessaria o banco e retornaria os dados para o FLASH.
III - E QUAIS COMANDOS EU USO?
Para passar os dados do FLASH para um arquivo qualquer você tem os seguintes métodos:
- GET: Passa os dados no formato de querystring ex: arquivo.asp?Nome=Joao&Email=joao@joao.com&Obs=O+site+e+legal
- POST: Os dados são "postados" diretamente no servidor da mesma forma que acontece na maioria dos formulários que você preenche na net.
Para recuperar os dados tanto no formato querystring quanto post você pode usar em ASP o comando Request("Email") ou Request("Nome"), por exemplo. No cado de PHP é apenas necessário colocar um sinal de "dollar" para acessar esses valores como $Nome ou $Email.
O comando que você usa no FLASH é o loadVariablesNum (URL, LEVEL/TARGET, METODO);
IV - QUAIS DADOS SERÃO POSTADOS E QUAIS SERÃO RECUPERADOS?
Quando você usa o comando "loadVariablesNum" usando o METODO GET ou POST, todas as váriáveis existentes dentro do nível que chama o comando serão passadas automaticamente pelo flash, por exemplo.
a) Se você usa o comando loadVariablesNum("recebedados.asp", 0, POST); dentro de um botão e esse botão está dentro do filme principal, então todas as variáveis do filme principal são passadas por POST e as variáveis recuperadas são todas lançadas na raiz (_root) do _level0. Se você usar o mesmo comando dentro de um movie-clip, então todas as variáveis de dentro do movie clip são postadas e as recebidas vão para o level0 novamente. Isso porque você está usando o "0" no comando. Se você quiser que as variáveis recebidas sejam carregadas em outro _level, apenas troque esse valor.
b) Se você usa o comando loadVariablesNum("recebedados.asp", "_root.MCBingo", GET); então todas as variáveis que estiverem no mesmo nível que o comando são passadas para o arquivo recebedados.asp no formato de querystring, mas as variáveis retornadas são inseridas dentro do movieclip que possui a Instance "MCBingo".
Assim você consegue postar dados de várias formas e receber dados aonde você quiser dentro do seu movie.
V - QUAL O FORMATO DE DADOS QUE O FLASH RECEBE?
Quando você acessar um arquivo em ASP, o retorno dele deverá funcionar da seguinte forma. Se você quer que o flash receba uma variável com o nome e outra com o email do usuário, então você deverá certificar que o arquivo ASP esta na realidade montando um texto no formato de querystring e exibindo em seu corpo. Seria assim o retorno: &Nome1=Joao&Email1=joao@jao.com&Nome2=Pietro&Email2=pietro@pietro.com
Assim você estaria passando para o flash as variáveis Nome1, Email1, Nome2 e Email2. Para acessa-las dentro do flash basta chama-las normalmente como qualquer outra variável depois que você tiver certeza que elas foram carregadas. Existem algumas rotinas em ActionScript interessantes caso você queira trabalhar com um volume maior de dados.
Lembrem-se que isso tudo que escrevi pode ser usado em várias aplicações, como acessar banco de dados, gravar arquivos de log no servidor ou gerenciar arquivos de contadores exibindo os números dentro do flash ou até mesmo um chat com um número ilimitado de pessoas acessando ao mesmo tempo.
Fonte: PontoFlashAutor:Guilherme Scheibe