ScriptCase Forum

Desenvolvedores => Banco de Dados => Tópico iniciado por: gabrielemerich em Junho 14, 2016, 07:13:16 pm

Título: [RESOLVIDO] - SELECT CONSULTA
Enviado por: gabrielemerich em 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.
Título: Re:SELECT CONSULTA
Enviado por: Ronyan Alves em 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
Título: Re:SELECT CONSULTA
Enviado por: gabrielemerich em Junho 15, 2016, 01:21:46 pm
(http://i.imgur.com/5HUxpEZ.png)
Estou tentando rodar um lookup mas ele está dando esse erro de relação, já conferi todas as tabelas e elas existem.
Título: Re:SELECT CONSULTA
Enviado por: Thyago Brasil em Junho 15, 2016, 01:26:26 pm
Troca dataEdecendio por dataedecendio
Título: Re:SELECT CONSULTA
Enviado por: gabrielemerich em 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}'");
Título: Re:SELECT CONSULTA
Enviado por: Kleyber em 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?
Título: Re:SELECT CONSULTA
Enviado por: gabrielemerich em 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
Título: Re:SELECT CONSULTA
Enviado por: Ronyan Alves em 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.
  }
}
Título: Re:SELECT CONSULTA
Enviado por: gabrielemerich em 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!
Título: Re:SELECT CONSULTA
Enviado por: Jailton em 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]
Título: Re:SELECT CONSULTA
Enviado por: gabrielemerich em 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.
Título: Re:SELECT CONSULTA
Enviado por: Jailton em 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...
Título: Re:SELECT CONSULTA
Enviado por: gabrielemerich em Junho 17, 2016, 11:28:32 am
Deu certo aqui galera, muito obrigado podem finalizar o tópico.
Abraços!