Ir para conteúdo
Fórum Script Brasil
  • 0

ASP + Flash + BD


Paulo Faustini Jr

Pergunta

Galera, não sei o que estou fazendo de errado no codigo, dá um erro mirabolante, pelo menos pra mim que não sei mais o que tirar e/ou colocar no código para testar e ver se vai dar certo... para vocês entenderem o que estou fazendo, vou tentar resumir: estou fazendo um flash com um mapa, onde, ao clicar em um estado X, ao lado do flash, irá aparecer uma listagem com todos os clientes do estado selecionado. Vou passar aqui, os códigos de todas as partes relacionadas:

//Código da página principal (default.asp)

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Clientes Playlist</title>
</head>
&lt;script type="text/javascript" src="mostraEstados.js"></script>

<body>
<!-- Função que consulta os estados no BD -->

<%

//Dados de acesso ao BD
host        ="sql.pls.com.br"
usuario    ="enquete"
senha    ="*****"
banco    ="EnquetesSite"

//Conexão ao BD
set conexao =Server.CreateObject("Adodb.Connection")
conexao.ConnectionString ="ODBC;DSN=SQL;Driver=SQL Server;Server="&host&";uid="&usuario&";pwd="&senha&";database="&banco&""
conexao.Open

//Cosulta ao BD
set rs =conexao.execute("SELECT DISTINCT estado FROM clientes")

//Percorre a tabela, selecionando os estados requeridos pela lista_cliente.asp
i = 0
if not rs.eof then 
   do until rs.eof
   i = i + 1
   if i <> 1 then
      estados = estados & "," & rs("estado")
   else
      estados = estados & rs("estado")
   end if
   rs.movenext
   loop 
end if
%>

<table width="882" border="1">
  <tr>
    <th width="710" scope="col">&lt;script language="JavaScript" type="text/javascript">
    AC_FL_RunContent(
        'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
        'width', '550',
        'height', '400',
        'src', 'geomap',
        'quality', 'high',
        'pluginspage', 'http://www.adobe.com/go/getflashplayer',
        'align', 'middle',
        'play', 'true',
        'loop', 'true',
        'scale', 'showall',
        'wmode', 'window',
        'devicefont', 'false',
        'id', 'geomap',
        'bgcolor', '#ffffff',
        'name', 'geomap',
        'menu', 'true',
        'allowFullScreen', 'false',
        'allowScriptAccess','sameDomain',
        'movie', 'geomap',
        'salign', ''
        ); //end AC code
    </script>
      <noscript>
      <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="710" height="500" id="geomap" align="middle">
        <param name="allowScriptAccess" value="sameDomain" />
        <param name="allowFullScreen" value="false" />
        <param name="FlashVars" value="vEstados=<%=estados%>" />
        <param name="movie" value="geomap.swf" />
        <param name="quality" value="high" />
        <param name="bgcolor" value="#ffffff" />
        <embed src="geomap.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="geomap" align="middle" allowscriptaccess="sameDomain" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />      
</object>
    </noscript></th>
    <div id="divRepre">
    <th width="156" scope="col"><iframe id="lista" src="lista_cliente.asp" style="width:323px; height: 500px;" frameborder="0" scrolling="no" marginheight="0" marginwidth="0"> </iframe></th>
    </div>
  </tr>
</table>
<p>  </p>
</head>
<body bgcolor="#ffffff">
<!--url's used in the movie-->
<!--text used in the movie-->
<!-- saved from url=(0013)about:internet -->
&lt;script language="JavaScript" type="text/javascript">
<!--
//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2008 Adobe Systems Incorporated.  All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
function ControlVersion()
{
    var version;
    var axo;
    var e;
    // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
    try {
        // version will be set for 7.X or greater players
        axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
        version = axo.GetVariable("$version");
    } catch (e) {
    }
    if (!version)
    {
        try {
            // version will be set for 6.X players only
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
            
            // installed player is some revision of 6.0
            // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
            // so we have to be careful. 
            
            // default to the first public version
            version = "WIN 6,0,21,0";
            // throws if AllowScripAccess does not exist (introduced in 6.0r47)        
            axo.AllowScriptAccess = "always";
            // safe to call for 6.0r47 or greater
            version = axo.GetVariable("$version");
        } catch (e) {
        }
    }
    if (!version)
    {
        try {
            // version will be set for 4.X or 5.X player
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
            version = axo.GetVariable("$version");
        } catch (e) {
        }
    }
    if (!version)
    {
        try {
            // version will be set for 3.X player
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
            version = "WIN 3,0,18,0";
        } catch (e) {
        }
    }
    if (!version)
    {
        try {
            // version will be set for 2.X player
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
            version = "WIN 2,0,0,11";
        } catch (e) {
            version = -1;
        }
    }
    
    return version;
}
// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
    // NS/Opera version >= 3 check for Flash plugin in plugin array
    var flashVer = -1;
    
    if (navigator.plugins != null && navigator.plugins.length > 0) {
        if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
            var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
            var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
            var descArray = flashDescription.split(" ");
            var tempArrayMajor = descArray[2].split(".");            
            var versionMajor = tempArrayMajor[0];
            var versionMinor = tempArrayMajor[1];
            var versionRevision = descArray[3];
            if (versionRevision == "") {
                versionRevision = descArray[4];
            }
            if (versionRevision[0] == "d") {
                versionRevision = versionRevision.substring(1);
            } else if (versionRevision[0] == "r") {
                versionRevision = versionRevision.substring(1);
                if (versionRevision.indexOf("d") > 0) {
                    versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
                }
            }
            var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
        }
    }
    // MSN/WebTV 2.6 supports Flash 4
    else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
    // WebTV 2.5 supports Flash 3
    else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
    // older WebTV supports Flash 2
    else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
    else if ( isIE && isWin && !isOpera ) {
        flashVer = ControlVersion();
    }    
    return flashVer;
}
// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
    versionStr = GetSwfVer();
    if (versionStr == -1 ) {
        return false;
    } else if (versionStr != 0) {
        if(isIE && isWin && !isOpera) {
            // Given "WIN 2,0,0,11"
            tempArray         = versionStr.split(" ");     // ["WIN", "2,0,0,11"]
            tempString        = tempArray[1];            // "2,0,0,11"
            versionArray      = tempString.split(",");    // ['2', '0', '0', '11']
        } else {
            versionArray      = versionStr.split(".");
        }
        var versionMajor      = versionArray[0];
        var versionMinor      = versionArray[1];
        var versionRevision   = versionArray[2];
            // is the major.revision >= requested major.revision AND the minor version >= requested minor
        if (versionMajor > parseFloat(reqMajorVer)) {
            return true;
        } else if (versionMajor == parseFloat(reqMajorVer)) {
            if (versionMinor > parseFloat(reqMinorVer))
                return true;
            else if (versionMinor == parseFloat(reqMinorVer)) {
                if (versionRevision >= parseFloat(reqRevision))
                    return true;
            }
        }
        return false;
    }
}
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}
function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '';
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }
  document.write(str);
}
function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    
    switch (currArg){    
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":    
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblclick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}
// -->
</script>
</body>
</html>
//Código dentro da página que exibe a lista (lista_cliente.asp)
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
<!--#include file="default.asp" -->

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

<!-- Função que consulta e exibe os clientes/estado na tela -->
<%

//O que será consultado no BD
set rs =conexao.execute("SELECT * FROM clientes WHERE estado="&Request("estado"))

%> 

</body>
</html>
//Código da função ajax (mostraEstados.js)
try{
   xmlhttp = new XMLHttpRequest();
}catch(ee){
   try{
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   }catch(e){
      try{
         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      }catch(E){
        xmlhttp = false;
      }
   }
}
function fxmlhttp(xmlhttp,conteudo) {
   xmlhttp.onreadystatechange=function() {
      if (xmlhttp.readyState==4){
         var texto=xmlhttp.responseText;
         texto=texto.replace(/\+/g," ")
         texto=unescape(texto);
         conteudo.innerHTML = texto;
      } 
   }
   xmlhttp.send(null)
}
function mostraEstados(oestado) {
   var conteudo=document.getElementById("divRepre");
   xmlhttp.open("GET", "lista_cliente.asp?estado="+oestado,true);
   fxmlhttp(xmlhttp,conteudo);
}
//Código no flash (geomap.swf)
//vEstados = "SP,PR,PE";
function tEstado(estado) {
   var my_color1:Color = new Color(estado);
   my_color1.setRGB(0xF7D137);
   eval(estado).onRollOver = function() {
      var my_color2:Color = new Color(this);
      my_color2.setRGB(0xE3C035);
   };
   eval(estado).onRollOut = function() {
      var my_color3:Color = new Color(this);
      my_color3.setRGB(0xF7D137);
   };
   eval(estado).onRelease = function() {
      getURL("java script:mostraEstados('"+estado+"');");
   };
}
var my_array:Array = vEstados.split(",");
//trace(my_array[0]);
for (var i = 0; i<my_array.length; i++) {
   tEstado(my_array[i]);
}

Ao abrir o default.asp, ele abre a página, exibindo o título e a tabela e na área destinada a mostrar a lista de clientes, dá o seguinte erro:

Erro de compilação do Microsoft JScript erro '800a03ec'

';' esperado

/geomap/lista_cliente.asp, line 18

set conexao = Server.CreateObject("Adodb.Connection")

----^

Essa linha, tem o seguinte conteúdo:

17. //String de conexão

18. set conexao = Server.CreateObject("Adodb.Connection")

19. conexao.ConnectionString = "ODBC;DSN=SQL;Driver=SQL Server;Server="&host&";uid="&usuario&";pwd="&senha&";database="&banco&""

20. conexao.Open

Alguém poderia me dar uma luz... pls

grato

Editado por Jonathan Queiroz
Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

parece que esse trem ta viciado no erro... deu o mesmo erro, na mesma linha:

Erro de compilação do Microsoft JScript erro '800a03ec'

';' esperado

/geomap/default.asp, line 19

set conexao =Server.CreateObject("Adodb.Connection");

----^

não estou entendendo esse erro...

valeu pela tentativa...

ah... vi que o erro deu na principal agora... certamente foi porque mudei o lista_cliente para

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

<!-- Função que consulta e exibe os clientes/estado na tela -->
<%
//DADOS BD
host    ="playlist.ddns.com.br,1434"
usuario    ="enqueteplaylist"
senha    ="enqpls"
banco    ="EnquetesSitePlaylist"

//CONEXÃO AO BD
set conexao    =Server.CreateObject("Adodb.Connection");
conexao.ConnectionString ="ODBC;DSN=SQL;Driver=SQL Server;Server="&host&";uid="&usuario&";pwd="&senha&";database="&banco&""
conexao.Open

//CONSULTA AO BD
set rs =conexao.execute("SELECT * FROM clientes WHERE estado="&Request("estado"))

%> 

</body>
</html>
e adicionei a linha
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>

em default.asp

Link para o comentário
Compartilhar em outros sites

  • 0

como você está usando asp javascript seu ASP tem que ser escrito igual a javascript...

repare que

JavaScript     var recordset = Server.CreateObject("ADODB.Recordset") 
VBScript     Set recordset = Server.CreateObject("ADODB.Recordset")

Link para o comentário
Compartilhar em outros sites

  • 0

hummm... detalhes que matam...

certamente vou ter que modificar essa parte também né?

i = 0
if not rs.eof then
   do until rs.eof
   i = i + 1
   if i <> 1 then
      estados = estados & "," & rs("estado")
   else
      estados = estados & rs("estado")
   end if
   rs.movenext
   loop
end if

vlw

Link para o comentário
Compartilhar em outros sites

  • 0

bom... fiz da seguinte maneira... mudei pra language=vbscript ... só que esse trem não para de me dar erro.. agora deu o seguinte:

Erro de compilação do Microsoft VBScript erro '800a0409'

Constante de seqüência não finalizada

/geomap/lista_cliente.asp, line 22

set rs = conexao.execute("SELECT * FROM clientes WHERE estado="&Request("estado")")

-----------------------------------------------------------------------------------^

Link para o comentário
Compartilhar em outros sites

  • 0

bom, descobri com a ajuda em outro forum, a linha fica desse jeito:

set rs = conexao.execute("SELECT * FROM clientes WHERE estado='"&Request("estado") & "'")

mas, como disse lá... resolveu a questão dos erros nos arquivos .asp, mas só que ifelizmente, o site não apresenta meu flash, ou seja, fica todo em branco... se puderem me ajudar, vendo cada arquivo o que pode ter de erro em comunicação um com outro, ficaria muito mais grato ainda...

quero agradecer a todos que tentaram e ajudaram de alguma forma com o meu erro... vlw

Link para o comentário
Compartilhar em outros sites

  • 0

Detalhes dos erros da página da Web

Agente de Usuário: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.5.30729; .NET CLR 3.0.30618)

Carimbo de data/hora: Tue, 13 Oct 2009 20:33:48 UTC

Mensagem: Objeto esperado

Linha: 16

Caractere: 2

Código: 0

URI: http://www.playlist.ddns.com.br:8080/geomap/

conteudo da linha:

12. //DADOS BD

13. host ="playlist.ddns.com.br"

14. usuario ="enquete"

15. senha ="******"

16. banco ="EnquetesSite"

esse é o ultimo erro que deu comigo e o único tb... por enquanto... mas alguém sabe me dizer o que fiz de errado aí?

para vocês entenderem o que estou tentando fazer, entrem na página >> http://www.tudoradio.com/radios.php

As diferençãs são:

- estou usando um flash

- estou usando a lp ASP

- o servidor é local (SQL)

Editado por Paulo Faustini Jr
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...