Autor Tópico: [RESOLVIDO] - SELECT CONSULTA  (Lida 961 vezes)

gabrielemerich

  • Iniciante
  • **
  • Mensagens: 76
[RESOLVIDO] - SELECT CONSULTA
« Online: Junho 14, 2016, 07:13:16 pm »
Olá, boa noite pessoal.
Preciso selecionar os dados de dois campos preenchidos em um formulário e guardar esses dois valores.
Posteriormente, preciso pegar esses dois valores e através dos mesmos gerar uma consulta em uma outra tabela sql e retornar a linha onde possui esses valores.
Qual maneira mais rápida de fazer essas duas consultas em tabelas diferentes?
Devo utilizar eventos? Pensei em métodos, enfim, espero que tenham entendido minha dúvida.
Grande abraço, obrigado.
« Última modificação: Junho 17, 2016, 11:54:46 am por Ronyan Alves »

Ronyan Alves

  • Administrator
  • Avançado
  • *****
  • Mensagens: 353
Re:SELECT CONSULTA
« Responder #1 Online: Junho 15, 2016, 10:31:29 am »
Para guardar os valores, utiliza variáves globais.

Para gerar uma consulta no banco, utiliza a macro sc_lookup.

Se tu quiser guardar estes valores no banco, utiliza a macro sc_exec_sql

http://www.scriptcase.com.br/docs/pt_br/v81/manual_mp.htm#macros-scriptcase/macros-scriptcase
--

Ronyan Alves
Equipe Scriptcase

gabrielemerich

  • Iniciante
  • **
  • Mensagens: 76
Re:SELECT CONSULTA
« Responder #2 Online: Junho 15, 2016, 01:21:46 pm »

Estou tentando rodar um lookup mas ele está dando esse erro de relação, já conferi todas as tabelas e elas existem.

Thyago Brasil

  • Expert
  • *****
  • Mensagens: 889
  • Crê no Senhor Jesus e será salvo tu e tua família
    • www.brasdesign.com.br
    • Email
Re:SELECT CONSULTA
« Responder #3 Online: Junho 15, 2016, 01:26:26 pm »
Troca dataEdecendio por dataedecendio
Thyago Brasil
Desenvolvedor Web
Site: http://www.brasdesign.com.br

SC 5.02/SC 8.1

gabrielemerich

  • Iniciante
  • **
  • Mensagens: 76
Re:SELECT CONSULTA
« Responder #4 Online: Junho 16, 2016, 08:23:54 am »
Bom dia, segue a query que apresenta o erro.
$sql = sc_lookup(ds,"SELECT decendio from dataedecendio WHERE data = '{datasemeadura}'");

Kleyber

  • Expert
  • *****
  • Mensagens: 2235
    • Email
Re:SELECT CONSULTA
« Responder #5 Online: Junho 16, 2016, 08:39:20 am »
Gabriel,

O erro diz que a tabela dataedecendio não existe no PGSQL. É uma tabela ou uma view?
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

gabrielemerich

  • Iniciante
  • **
  • Mensagens: 76
Re:SELECT CONSULTA
« Responder #6 Online: Junho 16, 2016, 09:00:08 am »
Bom dia, consegui solucionar dessa forma SELECT decendio from dadoskc."dataEdecendio"  WHERE data = '{datasemeadura}'";
Enfim, pelo menos não está apresentando nenhum erro rs.
Aproveitando o tópico, estou implementando um método para essas consultas, minha dúvida agora seria como mostrar o que esse select está retornando, como faria?
Obrigado

Ronyan Alves

  • Administrator
  • Avançado
  • *****
  • Mensagens: 353
Re:SELECT CONSULTA
« Responder #7 Online: Junho 16, 2016, 10:20:29 am »
foreach({ds} as $value){
     echo $value[0] . $value[1]; //mostra todos valores percorrendo linha, tendo um controle maior na coluna a ser exibida.
  foreach($value as $value2){
       echo $value2; //mostra todos valores percorrendo linhaXcoluna.
  }
}
--

Ronyan Alves
Equipe Scriptcase

gabrielemerich

  • Iniciante
  • **
  • Mensagens: 76
Re:SELECT CONSULTA
« Responder #8 Online: Junho 16, 2016, 12:43:58 pm »
Galera, muito obrigado, tudo certinho.
Só aproveitando o tópico novamente, alguém já se deparou com um problema envolvendo um dado do tipo Data, quando eu crio um campo do tipo data no scriptcase, ele armazena a data com um 1900 junto, representando um ano.
Se eu informo a data 16/06 ele me retorna 1900-06-16, como retornar somente o 16/06 informado no campo?
Alguém já se deparou com esse tipo de situação?
Agradeço a atenção, abraços!

Jailton

  • Expert
  • *****
  • Mensagens: 2034
Re:SELECT CONSULTA
« Responder #9 Online: Junho 16, 2016, 01:07:18 pm »
Galera, muito obrigado, tudo certinho.
Só aproveitando o tópico novamente, alguém já se deparou com um problema envolvendo um dado do tipo Data, quando eu crio um campo do tipo data no scriptcase, ele armazena a data com um 1900 junto, representando um ano.
Se eu informo a data 16/06 ele me retorna 1900-06-16, como retornar somente o 16/06 informado no campo?
Alguém já se deparou com esse tipo de situação?
Agradeço a atenção, abraços!

Nas app, clica no campo da data ai tem a formatação lá como a data vai ficar, veja em Projeto > Propriedades > Localizações > Valores Regionais [Português Brasil]
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

gabrielemerich

  • Iniciante
  • **
  • Mensagens: 76
Re:SELECT CONSULTA
« Responder #10 Online: Junho 17, 2016, 08:12:55 am »
Consegui resolver através de uma macro de sc_date_conv
Muito obrigado galera, a ultima pergunta aproveitando o tópico rs, como faço após da um select em uma linha no banco de dados, pegar o valor de cada campo desse linha e gravar em uma variável?
Valeu galera.

Jailton

  • Expert
  • *****
  • Mensagens: 2034
Re:SELECT CONSULTA
« Responder #11 Online: Junho 17, 2016, 09:33:49 am »
Para procurar os campos:

sc_lookup recomendado para ser usado para verificar se registros existem, se for ler uma grande
          quantidade de registros usar sc_select



/* Macro sc_lookup */

sc_lookup(cli, "
SELECT
    CodigoClienteID,
    NomeCliente,
    CPF
FROM
    clientes
")

/* Erro no lookup */
if (FALSE === {cli}) {
   sc_error_message("Ocorreu um erro no acesso ao banco de dados.<BR>");
}
elseif (empty({cli})) { /* EOF */

   sc_error_message("Nenhum valor foi retornado pelo banco.<BR>");
}
else {

   /* Inclua aqui sua rotina de processamento */

         $CodigoClienteID_x = {cli[$j][0]};
         $NomeCliente_x = {cli[$j][1]};
         $CPF_x = {cli[$j][2]};
   
}



Para várias linhas:

sc_select recomendado para ser usado no lugar do sc_lookup quando a base de dados é muito
          grande e você vai processar um grande número de registros.


Opcionais do comando:
Retornam uma linha: FetchRow, FetchInto, FetchObject, FetchNextObject, FetchObj, FetchNextObj, GetRowAssoc
Retornam todas as linhas:GetArray, GetRows, GetAssoc
Movimentam-se pelo dataset: Move, MoveNext, MoveFirst, MoveLast, AbsolutePosition, CurrentRow, AtFirstPage, AtLastPage, AbsolutePage,
Gera menu: GetMenu, GetMenu2,
Trabalha com datas: UserDate, UserTimeStamp, UnixDate, UnixTimeStamp,
Info do recordset: RecordCount, PO_RecordCount, NextRecordSet,
Info dos campos: FieldCount, FetchField, MetaType
Limpa tudo até a conexão: Close 


/* Macro sc_select */

sc_select(meus_dados, "
SELECT
    CodigoClienteID,
    NomeCliente,
    CPF
FROM
    clientes
");

/* Erro no select */
if ({meus_dados} === false) {
     // Sua Base + _erro
    sc_error_message("Ocorreu um erro no acesso ao<BR>banco de dados: {meus_dados_erro}.<BR>");
}
else {

    /* Inclua aqui sua rotina de processamento */

    // Qtde de Registros Retornados.
    $QtdeRegistros=$meus_dados->RecordCount();

     if ($meus_dados->EOF) {

         sc_error_message("Nenhum valor foi retornado pelo banco.<BR>");   
   
    } else {

       while (!$meus_dados->EOF) {
      
            {CodigoClienteID} = $meus_dados->fields[0];
            {NomeCliente} = $meus_dados->fields[1];
            {CPF} = $meus_dados->fields[2];
            
            // Avança para o próximo registro do BANCO DE DADOS.
            $meus_dados->MoveNext();
            
       } // while (!$meus_dados->EOF)
   
    } // if ($meus_dados->EOF)   
   
    // Limpa tudo até a conexão
    $meus_dados->Close();

} // sc_select(meus_dados,    ** Nao deixar aspas aqui...
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

gabrielemerich

  • Iniciante
  • **
  • Mensagens: 76
Re:SELECT CONSULTA
« Responder #12 Online: Junho 17, 2016, 11:28:32 am »
Deu certo aqui galera, muito obrigado podem finalizar o tópico.
Abraços!