GARANTIR DESCONTO

Fórum DbExpress.. CommandText é case sensitive? #244514

26/07/2004

0

Caros colegas,

Passei por uma situação hj que me causou um certo espanto e gostaría da confirmação de vocês.
Na sexta-feira passada criei uma aplicação de teste para acessar uma tabela no Firebird com os componentes do DbExpress (SQLConection --> SQLDataSet --> DataSetProvider --> ClientDataSet). Testei e funcionou perfeitamente.
Hoje, voltei a criar mais um teste, porém acessando outra tabela, com os mesmos componentes e com as configurações exatamente iguais as que criei no sistema de sexta-feira. Qual foi a minha surpresa que os dados eram lidos mas não conseguia atualizá-los no servidor (método ApplyUpdates(-1)).
Para ter certeza que não era a tabela, busquei acessar a mesma tabela da aplicação de sexta-feira, porém continuava não atualizando o servidor.
Depois de muita peleja nesta tarde, verifiquei que a instrução select na propriedade CommandText do componente SQLDataSet da aplicação de hoje estava com letras minúsculas (mais precisamente o nome da tabela) e ao mudar para maiúscula o aplicativo funcionou corretamente.
Alguém já passou por situação parecida?
E sería correto afirmar, mediante este caso, que as instruções deverão ser inseridas em maiúsculas?

Agradecido a atenção..


Rafs

Rafs

Responder

Posts

27/07/2004

Vieira_alex

Seu servidor é Linux ?


Responder

Gostei + 0

27/07/2004

Xisto

Ja passei por isso, desde entao sempre escrevo o nome da tabela em MAIUSCULAS, nao percebi erros com referencia a nome de campos, p.ex.

OBS.: Faco acesso dbexpress da mesma forma que vc descreveu.


Responder

Gostei + 0

27/07/2004

Rafs

Seu servidor é Linux ?


O meu servidor é W2K...

.....

A partir de ontem adotei tb colocar sempre as tabelas em maiúsculas...
Quase fiquei maluco procurando parâmetros que estivessem configurados erradamente que pudessem ocasionar isto. :?


Responder

Gostei + 0

27/07/2004

Biffi

Acredito que a resposta da questão seja o ClientDataSet. Pois aqui onde trabalho, nós utilizamos DBExpress mais precisadamente SQLClientDataSet(delphi6). E nunca tivemos esse problema, porém em casa eu utilizo o acesso da mesma forma que foi citada anteriormente (delphi7), e tive o mesmo problema.


Responder

Gostei + 0

28/07/2004

Rômulo Barros

[color=red:b73d670a44][b:b73d670a44]Respondendo:[/b:b73d670a44][/color:b73d670a44]

Amigos, infelizmente o CommandText(ClientDataSet) e o Sql(TSqlQuery) são CaseSensitive(Minúsculas diferem de maiúsculas). Antes de postar esta mensagem, sofri bastante aqui com o exemplo:

Sql.Add(´Select * from [color=red:b73d670a44]clientes[/color:b73d670a44]´);
... ... ... // comandos
Post();
ApplyUpdates(0);// Erro aqui: Table or View Not Exists. No Key Specify.

Então, troquei o código para:

Sql.Add(´Select * from [color=red:b73d670a44]CLIENTES[/color:b73d670a44]´);
... ... ... // comandos
Post();
ApplyUpdates(0);// Não deu mais erro

:P :P :P :P :P :P :P :P :P :P :P


Responder

Gostei + 0

04/03/2005

Yallebr

Pessoal,

O Command Text não é Caso sensivel. O banco de dados q vc´s estão utilizando é.

Yalle Cunha.


Responder

Gostei + 0

04/03/2005

Vieira_alex

Cara este tópico, já está quase fazendo aniversário...


Responder

Gostei + 0

07/03/2005

Rômulo Barros

Caramba.. eita vontade de responder ´Arretada´... :lol: :lol:
A galera tá ´ acordando defunto ´ .. .. .. :roll: :roll:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar