Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
jow

Consulta de campo data no banco de dados progress

Question

Bom dia, estou com uma dificuldade a dias em fazer uma simples consulta no banco de dados Progress. Consigo realizar a query direto no banco de dados no formato de data aceito pelo banco que é m/d/Y. Mas no código não consigo realizar a query, segue meu código.

$query = '
                        SELECT PUB."ed-tables".cpo_campo
                                FROM PUB."ed-tables"
                                WHERE PUB."ed-tables".dat_inicial BETWEEN '2012-02-06'
                                        AND '2012-02-06'
                                ORDER BY PUB."ed-tables".dat_inicial
                ';

Obs: Estou usando as data no formato yyyy-mm-dd, pois este é o formato de data que o código acima me retorna sem a condição where. A query realizada direto no banco me retorna neste formato dd/mm/yyyy !!!

Share this post


Link to post
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Retorna este erro

Warning: odbc_exec() [function.odbc-exec]: SQL error: [DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Tipo incosistente. (7481), SQL state S1000 in SQLExecDirect in

Share this post


Link to post
Share on other sites
  • 0

A definição da variável $query no PHP está exatamente como você postou ali em cima?

Share this post


Link to post
Share on other sites
  • 0

Não devia nem rodar o PHP então.

$query = '
    SELECT PUB."ed-tables".cpo_campo
    FROM PUB."ed-tables"
    WHERE PUB."ed-tables".dat_inicial BETWEEN '2012-02-06' AND '2012-02-06'
    ORDER BY PUB."ed-tables".dat_inicial
';

Você está usando aspa simples na string... mas está usando as simples dentro do código também (pra marcar as datas). Isso não tá certo wtf. Você deveria usar aspas duplas ali também.

Edited by fiote

Share this post


Link to post
Share on other sites
  • 0

Cara é as aspas simples sim que esta errado ele ta considerandos o valor da data porque ele acha que termino o valor da string sql tenta colocar as dartas com aspas dupla ""

$sql = 'SELECT bla bla bla "2012-10-12" ';

sem duvida é isso

Share this post


Link to post
Share on other sites
  • 0

Bom dia, se eu uso entre aspas duplas continua o erro mas entendo como se fosse uma coluna do banco.

Warning: odbc_exec() [function.odbc-exec]: SQL error: [DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Column "2012-10-12" cannot be found or is not specified for query. (13865),

Share this post


Link to post
Share on other sites
  • 0

Vi que as aspas duplas são coisas reservadas desse tal progress, então tenta assim:

$query = '
    SELECT PUB."ed-tables".cpo_campo
    FROM PUB."ed-tables"
    WHERE PUB."ed-tables".dat_inicial BETWEEN \'2012-02-06\' AND \'2012-02-06\'
    ORDER BY PUB."ed-tables".dat_inicial
';

Escapando as aspas simples.

Share this post


Link to post
Share on other sites
  • 0

Dessa forma não retorna erro algum, mas não apresenta nenhum registro !!!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Cloud Computing


  • Forum Statistics

    • Total Topics
      148497
    • Total Posts
      644159
×
×
  • Create New...