Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mr. Madruga

ASP + Flash + Select com SQL

Recommended Posts

Salve, galera!

 

Bom, meu primeiro post por aqui e tô com uma dúvida que não me deixa em paz. Hehehe

 

Bom, é o seguinte: Estou desenvolvendo, junto a dois amigos, um sistema, fictício (diga-se de passagem), de supermercado online. Haverá um link para lojas no site onde serão mostradas fotos e endereços das lojas espalhadas pelo Brasil. A idéia era a seguinte: Criar o mapa do Brasil em flash e no clique do mouse sobre um determinado estado, o asp receberia o valor desse Estado, executaria uma instrução sql na base de dados e a partir daí exibiria somente as lojas daquele Estado. O que vale como detalhe é que todo o site foi estruturado numa MasterPage, isto é, a página das Lojas (que é onde rodará o mapa em swf) é uma filha da MasterPage. A partir disso, eu peguei dois exemplos de códigos de como trabalhar com Flash/ASP. O primeiro veio com a página em ASP rodando VBScript (Esse não fazia conexão nenhuma com banco, apenas retornava um valor de uma variável pro Flash), enquanto que o segundo a página em ASP veio "sem nada", isto é, veio apenas as tags de <html> e <body> e outras tags <%> onde era criada conexão com o banco, instrução sql e etc...(creio que essas tags sejam de VBScript também). O conceito de como trabalhar enviando variáveis de um para o outro eu entendi. O grande problema pinta mesmo quando eu tenho que usar um select e retornar o valor desse select pro Flash, ou até mesmo exibir o resultado desse select na própria página em ASP...Eu tentei mesclar o que vi nos dois exemplos num código aqui, mas não deu muito certo. Parece que o Flash faz a requisição, mas a página em ASP não retorna nada oO'

 

Esse código tá usando VBScript =/

 

ASP
<%@ Language="VBScript"  %>

<% Option Explicit %>

       

<%      Dim strNome

        strNome = Request.Form ("nome")

%>

<html>

 

<body>

 

<% 'Aqui abro a conexão.... %>

 

<%   set conntemp=server.createobject("adodb.connection") %>

 

<%   strCon  = "provider=Microsoft.jet.oledb.4.0; data source=H:DADOSTecnico E.T.E.R - Terceiro AnoJaiminho's Market ProjectVisual BasicDadosSupermercado.mdb" %>

 

<%   conntemp.Open strCon %>

 

<% 'Faço um select simples em uma tabela %>

<% cSQL = "SELECT * FROM supermercado where Num_Cartao = " & strNome %>

 

<% set rstemp=conntemp.execute(cSQL) %>

 

<% list = "" %>

  <% while not rstemp.eof %>

        <%

          list = list & "&" &  rstemp("nome_cli")&

   %>

<% rstemp.MoveNext %>

<% wend %>

<% list= replace(list,",",".") %>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="780" height="25">

<param name="allowScriptAccess" value="sameDomain" />

<param name="quality" value="high" />

<param name="bgcolor" value="#ffffff" />

<embed src="interacao.swf?"&status=Olá, "<%=list%>&"&" quality="high" bgcolor="#ffffff" width="550" height="400" name="mapa_brasil" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />

</body>

</html>

 

Alguém sabe como eu poderia fazer isso usando como Language = "VB" no ASP? Como ficaria a "estrutura dos códigos" na página no ASP, lembrando que ela é uma filha de uma MasterPage? Precisaria colocar o código dentor de alguma Sub?

 

Fui longo ae nos detalhes pra tentar arrumar uma resposta mais rapidamente xD

 

Abraços, galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retire o seu Flash nesse momento, vamos testar seu ASP puramente.

ASP
<%@ Language="VBScript"  %>

<% Option Explicit %>

       

<%      Dim strNome

        strNome = Request.Form ("nome")

%>

<html>

 

<body>

 

<% 'Aqui abro a conexão.... %>

 

<%   set conntemp=server.createobject("adodb.connection") %>

 

<%   strCon  = "provider=Microsoft.jet.oledb.4.0; data source=H:DADOSTecnico E.T.E.R - Terceiro AnoJaiminho's Market ProjectVisual BasicDadosSupermercado.mdb" %>

 

<%   conntemp.Open strCon %>

 

<% 'Faço um select simples em uma tabela %>

<% cSQL = "SELECT * FROM supermercado where Num_Cartao = " & strNome %>

 

<% set rstemp=conntemp.execute(cSQL) %>

 

<% list = "" %>

  <% while not rstemp.eof %>

        <%

          list = list & "&" &  rstemp("nome_cli")&

   %>

<% rstemp.MoveNext %>

<% wend %>

<% list= replace(list,",",".") %>

<% Response.Write(List)%>

E veja se está retornando algo condizente com o que foi selecionado no Flash anterior.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz uns testes aqui rodando somente o código asp puro. Veja como "reescrevi" o código:

 

<%@ Language="vb script: Eu pesquisei cartão de número '1' e ele me retornava o nome da pessoa titular do cartão. O código que eu escrevi foi esse:[code]<%@ import Namespace="System.Data" %><%@ import Namespace="System.Data.oledb" %><%@ Page Language = "VB" debug="true"%><script runat="server">Sub Page_Load( o as object, e as eventargs)Dim objconecta As New OleDbConnection("provider=microsoft.jet.oledb.4.0; data source=H:\DADOS\Tecnico E.T.E.R - Terceiro Ano\Jaiminho's Market Project\Visual Basic\Dados\supermercado.mdb")Dim sql As Stringsql = "select * from cliente where Num_Cartao = " & 1objconecta.Open()Dim objcomando As New OleDbCommand(sql, objconecta)Dim objdr As OleDbDataReaderobjdr = objcomando.ExecuteReaderIf objdr.Read Then	Response.Write "&status=Olá, " &objdr.getvalue(1)& "&"End IfEnd Sub</script><html><head><title></title></head><body></body></html>

Depois disso fui implementar ainda mais o código, tentando integrar ao flash. Reescrevi dessa forma:

 

<%@ import Namespace="System.Data" %><%@ import Namespace="System.Data.oledb" %><%@ Page Language = "VB" debug="true"%><script runat="server">Sub Page_Load( o as object, e as eventargs)Dim PassaFlash as StringDim strNome = request.form("nome")Dim objconecta As New OleDbConnection("provider=microsoft.jet.oledb.4.0; data source=H:\DADOS\Tecnico E.T.E.R - Terceiro Ano\Jaiminho's Market Project\Visual Basic\Dados\supermercado.mdb")	Dim sql As Stringsql = "select * from cliente where Num_Cartao = " & strnomeobjconecta.Open()Dim objcomando As New OleDbCommand(sql, objconecta)Dim objdr As OleDbDataReaderobjdr = objcomando.ExecuteReaderIf objdr.Read Then	PassaFlash = "&status=Olá, " &objdr.getvalue(1)& "&"End IfEnd Sub</script><html><head><title></title></head><body><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="550" height="400" id="mapa_brasil" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="interacao.swf?<%=PassaFlash %> quality="high" bgcolor="#ffffff" width="550" height="400" name="interacao" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></body></html>

Rodei a página em html com o flash, digitei um número qualquer e deu na mesma: ficou esperando alguma resposta e nada oO'

 

Repare que nesse último código, eu tento passar a resposta como parâmetro pro swf. Tem um jeito também usando o response.write, mas que eu testei aqui e não funcionou, desta forma:

 

<%@ import Namespace="System.Data" %><%@ import Namespace="System.Data.oledb" %><%@ Page Language = "VB" debug="true"%><script runat="server">Sub Page_Load( o as object, e as eventargs)Dim PassaFlash as StringDim strNome = request.form("nome")Dim objconecta As New OleDbConnection("provider=microsoft.jet.oledb.4.0; data source=H:\DADOS\Tecnico E.T.E.R - Terceiro Ano\Jaiminho's Market Project\Visual Basic\Dados\supermercado.mdb")	Dim sql As Stringsql = "select * from cliente where Num_Cartao = " & strnomeobjconecta.Open()Dim objcomando As New OleDbCommand(sql, objconecta)Dim objdr As OleDbDataReaderobjdr = objcomando.ExecuteReaderIf objdr.Read Then	Response.write "&status=Olá, " &objdr.getvalue(1)& "&"End IfEnd Sub</script><html><head><title></title></head><body></body></html>

Lembrando que a página onde isso será utlizado será filha de uma MasterPage. Como eu devo proceder? Colocar o código em asp em algum evento?

 

Ufa Ufa! Post gigantesco x_x Mas foi TUDO o que eu tentei e até agora nada.

 

Espero que possam me ajudar, pessoal.

 

Achei muito interessante essa integração e gostaria que funcionasse. Hehehe

 

Abraços, galera!

 

-----------------------------------------------------------------------------------

Post Mesclado

-----------------------------------------------------------------------------------

 

Tentei fazer com que o Flash enviasse a informação, o asp procesasse e tentei exibir isso via asp: peguei o resultado e usando response.redirect tentei mandar pra uma outra página, mas não adiantou de nada x_x

 

Alguém sabe o que isso pode ser? oO

 

Abraços, galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.