Jump to content
Fórum Script Brasil

sergio.lima

Membros
  • Posts

    32
  • Joined

  • Last visited

About sergio.lima

sergio.lima's Achievements

0

Reputation

  1. Olá a todos, Estou com um problema que não consigo detectar o que é, estou precisando de ajuda. Estava escrevendo o acesso ao banco através de um arquivo externo dbxconnections.ini, mas como a senha do banco ficava exposta em um arquivo texto resolvi configurar no próprio componente zconnection. O problema é que gerei a base de dados a princípio em interbase 6.5, depois lembrei de algumas limitações do interbase, daí fiz um backup e restore em uma base firebird 1.5. Daí começou a dar erro de acentuação, fiz tantas tentativas até que finalmente começoa a funcionar novamente. A aplicação continua funcionando sem problema, mas o zconnection está apontando para o driver do Interbase. Se troco para Firebird dá erro logo ao iniciar a aplicação. Agora já nem sei mais se é melhor usar dbxconnections ou dentro do data module no zconnection. Como faço para que o Delphi/Zeus abra a base de dados usando o Firebird 1.5 e não o Interbase 6.5 (há instalação de ambos na minha máquina - já desinstalei o Interbase inclusive). Estou usando Delphi 7/componente Zeus e Firebird 1.5 Alguém poderia me ajudar e me esclarecer a melhor opção? Obrigado a todos. Sergio procedure TdtmdlLab.DataModuleCreate(Sender: TObject); begin zcnctnPrincipal.Connected := False; zcnctnPrincipal.Database := 'C:\Lab\Dados\LAB.FDB'; zcnctnPrincipal.HostName := 'localhost'; zcnctnPrincipal.LoginPrompt := False; zcnctnPrincipal.User := 'SYSDBA'; zcnctnPrincipal.Password := 'masterkey'; zcnctnPrincipal.Port := 3050; zcnctnPrincipal.Protocol := 'interbase-6'; zcnctnPrincipal.Properties.Add('Codepage=ISO8859_1'); zcnctnPrincipal.SQLHourGlass := True; zcnctnPrincipal.Connect; end;
  2. Olá, Pessoal, Estou desenvolvendo uma aplicação com Delphi 7, Zeuslib e Interbase 6.5 Na máquina em que trabalho (Windows Seven), a aplicação funciona muito bem. Quando fiz um backup deste sistema em outra máquina (Windows XP), a aplicação continua funcionando porém se incluo qualquer registro com palavras acentuadas aparece o erro: 'arithmetic exception, numeric overflow, or string truncation Cannot transliterate character between character sets '. Como mencionei acima o banco foi gerado em Interbase 6.5, utilizo character set WIN1252 e collate PXW_INTL850. Tenho instalado nestas 2 máquinas o Interbase 6.5 e Firebird 1.5.3, o Delphi 7 e o componente Zeuslib. Ou seja, as instalações são idênticas com exceção do sistema operacional (Seven e XP). Ainda assim, trouxe a aplicação para minha casa, instalei tudo no meu computador (também XP) e o problema com acentuação continua. Estou ficando sem saber o que fazer para arrumar isso. Tenho que instalar este sistema em outro lugar e estou com receio de acontecer a mesma coisa. Já troquei o nome do projeto, recompilei inúmeras vezes e o erro persiste. Ou seja, só funciona em uma máquina (windows seven). Daí instalei a aplicação em outro computador (também Windows Seven) e o erro persiste, ou seja, só funciona na máquina em que trabalho, em outras 2 máquinas e também na minha casa ocorre erro com palavras acentuadas. Se alguém puder ajudar, agradeço muito. Obrigado. Sergio
  3. Olá, Aproveitando a dica indicada pelo Jonathan consegui fazer uma rotina funcionar em php aplicando as minhas tabelas de grupo e subgrupo. Único problema é que no <SELECT> do subgrupo os nomes acentuados aparecem deformados e não consegui arrumar isso. Li aqui que conseguiu resolver o problema da acentuação - pode me dizer como fez isso - eu agradeceria muito. Sergio
  4. Obrigado, Jonathan. Vou tentar resolver o problema com esta dica. Acredito que dê certo sim. Muito obrigado. Sergio
  5. O campo "QUANTIDADE" recebe números inteiros, preciso multiplicar este número pelo preço unitário do produto e apresentar o valor total no fim do formulário. É isso.
  6. Olá, Galera. Fiz um formulário PHP e neste formulário tem um campo chamado QUANTIDADE. Eis o problema, como preciso calcular o total dos itens e mostrar ao final do formulário, eu preciso capturar o conteúdo do campo quantidade sem que seja necessário sair do formulário. Alguém poderia por favor ajudar, fornecendo alguma dica, sugestão ou rotina que consiga fazer isso? Desde já agradeço. Sergio
  7. Olá Pessoal, Estou precisando apresentar valores de uma tabela em um dbgrid e estes valores tem 0, 1, 2, 3 ou 4 casas decimais. Como é que eu faço para formatar os campos da tabela como se eu estivesse usando o FormatFloat('#####0.0000',valor)? Por favor, se alguém puder ajudar agradeço desde já. Valeu. Sergio
  8. Dejota, É exatamente o que estou precisando, a única diferença é que no meu caso, tenho Departamento e Setor, e ainda estou trabalhando com banco de dados Postgree. Já tentei algumas rotinas em ajax postadas aqui, mas não consegui colocar para funcionar não. Vamos ver se algum colega nos ajuda e nos fornece alguma rotina pronta para isso. Valeu. Sergio
  9. André, Coloquei a tag select dentro do arquivo busca_1.php e busca_2.php, mas continua com o mesmo problema - não aparece nada. É como se não passasse pelo busca_1.php já que não aparece nenhum departamento. Por favor, se tiver mais alguma sugestão, poste aqui. Valeu. Sergio
  10. Olá, Não sou lá grandes coisas em aplicações web, mas sempre preciso fazer alguns formulários simples. Estou precisando fazer uma coisa simples, mas não sei como fazer. Preciso que o input type="text" fique em azul e o label CPF fique em preto. Do jeito que está agora, tudo está com a cor preta. <tr> <td width="20%"> <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">CPF nº : </font></div></td> <td width="80%"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="text" name="NR_CPF" size="11" value="<? echo $nr_cpf ?>" readonly="true"> </font></td> </tr> Tentei colocar color na tag font, mas não fez diferença nenhuma. Alguém por obséquio pode me dar um help? Valeu. Sergio
  11. Prezados Colegas, Não consigo implementar uma rotina de ajax para selecionar um select (Setor) a partir de outro select (Departamento). Já fiz várias tentativas com os códigos postados aqui, mas não consegui entender como funciona direito. Deve ser alguma coisa que ainda não detectei, mas preciso disso com urgência e bate aquele desespero - aí é que não vai mesmo. Estou postando o código abaixo, me ajudem por favor. formulario.php <html> <head> <title>Formulario</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript"> function RetornoAjax(id, url, container) { var xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Este browser não suporta HTTP Request") return } var url=url; url=url+"?id="+id; url=url+"&sid="+Math.random(); xmlHttp.onreadystatechange=function() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById(container).innerHTML=xmlHttp.responseText } } xmlHttp.open("GET",url,true) xmlHttp.send(null) } function GetXmlHttpObject() { var objXMLHttp=null if (window.XMLHttpRequest) objXMLHttp=new XMLHttpRequest() else if (window.ActiveXObject) objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP") return objXMLHttp } </script> </head> <body bgcolor="#EBEDED" text="#000000"> <form> <table width="40%" border="2" cellspacing="0" cellpadding="0" align="center"> <tr bgcolor="#006699"> <td colspan="4"> <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#FFFFFF">Lotação do Servidor</font></b></font></div></td> </tr> <?PHP include_once "conexao.php"; // Lotação Departamento $sql = "SELECT DISTINCT sg_departamento FROM tb_lotacao order by sg_departamento"; if ($conexao->query($sql)) { echo "<tr>"; echo " <td> <div align='right'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>Departamento : </font></div></td>"; echo " <td colspan='2'> <font size='2' face='Verdana, Arial, Helvetica, sans-serif'>"; echo " <select name='SG_DEPARTAMENTO' id='SG_DEPARTAMENTO' onchange='RetornoAjax(this.value, 'busca_1.php', 'SG_DEPARTAMENTO')'>"; echo " </select>"; echo " </font></td>"; echo "</tr>"; } // Lotação Setor $sql = "SELECT DISTINCT sg_setor FROM tb_lotacao where sg_departamento='SG_DEPARTAMENTO' order by sg_setor"; if ($conexao->query($sql)) { echo "<tr>"; echo " <td> <div align='right'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>* Setor : </font></div></td>"; echo " <td colspan='2'> <font size='2' face='Verdana, Arial, Helvetica, sans-serif'>"; echo " <select name='SG_SETOR' id='SG_SETOR' onchange='RetornoAjax(this.value, 'busca_2.php', 'SG_SETOR')'>"; echo " </select>"; echo " </font></td>"; echo "</tr>"; } ?> </table> </form> </body> </html> busca_1.php <?PHP $rs = $conexao->query($sql)->fetchAll(PDO::FETCH_ASSOC); $linhas = count($rs); for ($x=0; $x < $linhas; $x++) { echo '<option value="'.$rs[$x]['sg_departamento'].'">'.trim($rs[$x]['nome_departamento']).'</option>'; } ?> busca_2.php <?PHP $rs = $conexao->query($sql)->fetchAll(PDO::FETCH_ASSOC); $linhas = count($rs); for ($x=0; $x < $linhas; $x++) { echo '<option value="'.$rs[$x]['sg_setor'].'">'.trim($rs[$x]['nome_setor']).'</option>'; } ?>
  12. Guilherme, mais uma vez obrigado. Mas, sou meio inexperiente ainda e não entendi onde coloco um botão submit dentro de uma combobox para desviar para outro programa onde recebo a diretoria selecionada para depois montar o sql filtrando. Se puder me ajudar mais um pouco fico muito grato porque realmente tenho que montar isso aqui. []'s Sergio <select name="Supervisao"> <? //Aqui vem o q eu estava falando.. você vai imaginar que pode ter vindo um $_POST["Diretoria"], e vai fazer o seguinte: if($_POST["Diretoria"]) { $Query = "SELECT campos from t_supervisao where diretoria = '" . $_POST["Diretoria"] . "''; //roda e percorre.... } else { $Query = "SELECT campos from t_supervisao ''; //roda e percorre.... } ?> </select> </form>
  13. Oi, Guilherme. Obrigado pela ajuda. Não olhei todo o seu código, mas me parece que você precisa carregar um combo, baseado no valor selecionado no combo anterior, por exemplo, escolher a diretoria 1, e ai então, carregar apenas as supervisões da diretoria 1. Isso mesmo, você entendeu. Para isso, você vai precisar acessar sua base de dados após a escolha, ou guardar isso tudo em algum vetor na aplicação ou algo do tipo. Suas opções. 1) Guardar em html, ou javascript, as seleções para cada escolha, e exibir de acordo com a escolha (jeito mais gambiarra, não recomendo) Eu não sei como capturar a seleção anterior, mas se não recomenda não deve ser lá grande coisa. 2) Fazer um post para cada escolha, e trazer no combo só o que interessa. (solução mais simples, porém esse negócio de ficar postando não é muito recomendado por mim) Também não sei como obter a seleção anterior. Se puder ajudar, acho que seria a minha melhor opção por agora. 3) Ajax. conhece? Não, não conheço. Infelizmente acho que não tenho tempo para aprender e colocar para funcionar. Obrigado. Se puder me ajudar mais um pouco ... estou realmente precisando. Sergio
  14. Olá, Estou com um problema sério e urgente, espero que alguns dos colegas possam me ajudar a filtrar isso. Tenho uma tabela de centro de custo que tem 3 quebras, diretoria, departamento e supervisão. Fiz um formulário para o funcionário selecionar primeiro a sua diretoria, depois seu departamento e finalmente sua supervisão. O problema é que não sei, aliás não sei se tem jeito de fazer isso, como capturar o que foi informado em um campo para servir de filtro no campo seguinte sem sair do formulário principal. Do jeito que fiz, o formulário aparece todos os departamentos da empresa e eu gostaria que mostrasse apenas os departamentos da diretoria que foi selecionada anteriormente. O mesmo acontece com a supervisão, aparece todas as supervisões da empresa enquanto eu gostaria que aparecesse apenas as supervisões do departamento e diretoria informados nos campos anteriores. A tabela é tb_lotacao (cd_diretoria, sg_lotacao_di, sg_lotacao_dp, sg_lotacao_sp, ds_lotacao) Vejam o código: // Lotação Departamento $sql = "SELECT DISTINCT sg_lotacao_dp FROM tb_lotacao order by sg_lotacao_dp"; if ($conexao->query($sql)) { echo "<tr>"; echo " <td> <div align='right'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>* Departamento : </font></div></td>"; echo " <td colspan='2'> <font size='2' face='Verdana, Arial, Helvetica, sans-serif'>"; echo " <select name='SG_LOTACAO_DP'>"; // if ($sg_lotacao_dp!=0) // { echo ' <option value="'.$sg_lotacao_dp.'" selected>'.$sg_lotacao_dp.'</option>'; echo " <option value=\"\">&nbsp;</option>"; // } $rs = $conexao->query($sql)->fetchAll(PDO::FETCH_ASSOC); $linhas = count($rs); for ($x=0; $x < $linhas; $x++) { echo '<option value="'.$rs[$x]['sg_lotacao_dp'].'">'.trim($rs[$x]['sg_lotacao_dp']).'</option>'; } echo " </select>"; echo " </font></td>"; echo "</tr>"; } // Lotação Supervisão $sql = "SELECT DISTINCT sg_lotacao_sp FROM tb_lotacao order by sg_lotacao_sp"; if ($conexao->query($sql)) { echo "<tr>"; echo " <td> <div align='right'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>* Supervisão : </font></div></td>"; echo " <td colspan='2'> <font size='2' face='Verdana, Arial, Helvetica, sans-serif'>"; echo " <select name='SG_LOTACAO_SP'>"; // if ($sg_lotacao_sp!=0) // { echo ' <option value="'.$sg_lotacao_sp.'" selected>'.$sg_lotacao_sp.'</option>'; echo " <option value=\"\">&nbsp;</option>"; // } $rs = $conexao->query($sql)->fetchAll(PDO::FETCH_ASSOC); $linhas = count($rs); for ($x=0; $x < $linhas; $x++) { echo '<option value="'.$rs[$x]['sg_lotacao_sp'].'">'.trim($rs[$x]['sg_lotacao_sp']).'</option>'; } echo " </select>"; echo " </font></td>"; echo "</tr>"; } Se alguém puder ajudar, por favor agradeço muito Sergio
×
×
  • Create New...