Fórum Problema de gravação de informação em banco firebird em ordem diferente #409635
22/11/2011
0
EX: No Meu banco tem uma TAbela TESTE tem os campos nesta ordem.
[0] Cod
[1] Nome
[2] Endereco
[3] Bairro
Mas no cliente, por algumas alteracoes no bd, a tabela TESTE ficou os campos com ordem diferente
[0] Cod
[1] Nome
[2] Bairro
[3] Endereco
ou seja, o bairro e endereco esta em ordem diferente (apenas um exemplo, a tabela tem mais de 80 campos)...
No delphi, uso o TIBDatase, na propriedade Select SQL uso apenas (select * from TESTE)
e faço os processo para gerar as propriedades de insercao, refresh, etc..
Acontece que em um cliente, nao gravava um informação. tentei de tudo, percebi que o modivo é que a tabela usada na programacao no Delphi esta em uma ordem diferente da tabela do cliente. So deu certo depois que comecei a usar no Select SQL (Select cod, nome.... ou seja todos os campos).... ai ele grava.
Isto é normal. os atributos de cada tabela deve estar na mesma ordem de criação que o banco de dados usados nos clientes ?
ou o mais certo é nunca usar na propriedade Select SQL (Select *)
[0] Cod
[1] Nome
[2] Endereco
[3] Bairro
Mas no cliente, por algumas alteracoes no bd, a tabela TESTE ficou os campos com ordem diferente
[0] Cod
[1] Nome
[2] Bairro
[3] Endereco
ou seja, o bairro e endereco esta em ordem diferente (apenas um exemplo, a tabela tem mais de 80 campos)...
No delphi, uso o TIBDatase, na propriedade Select SQL uso apenas (select * from TESTE)
e faço os processo para gerar as propriedades de insercao, refresh, etc..
Acontece que em um cliente, nao gravava um informação. tentei de tudo, percebi que o modivo é que a tabela usada na programacao no Delphi esta em uma ordem diferente da tabela do cliente. So deu certo depois que comecei a usar no Select SQL (Select cod, nome.... ou seja todos os campos).... ai ele grava.
Isto é normal. os atributos de cada tabela deve estar na mesma ordem de criação que o banco de dados usados nos clientes ?
ou o mais certo é nunca usar na propriedade Select SQL (Select *)
Sistemp
Curtir tópico
+ 0
Responder
Posts
23/11/2011
Wilson Junior
O mais correto é sempre utilizar o nome dos campos, justamente para não ocorrer este tipo de erro futuramente.
Espero ter colaborado.
Espero ter colaborado.
Responder
Gostei + 0
28/12/2011
Alisson Santos
referente essa sua duvida é o seguinte o select * from é para funcionar normal independente da ordem que está o banco no cliente e no seu micro, por que. Na hora da programação que vai efetuar a inserção ele não vai verificando as posições do banco e granvando, ele apenas faz a gravação nos respectivos campos preenchidos.
Esse tipo de erro pode ocorrer quando trabalha com indice da tabela ai sim tem que referenciar.
O que tem que ser feito é analisado a maneira que estava efetuando a gravação, caso seja por indice ai tem que usar os nomes, caso não não tem necessidade.
Espero poder ter ajudado nessa duvida.
Esse tipo de erro pode ocorrer quando trabalha com indice da tabela ai sim tem que referenciar.
O que tem que ser feito é analisado a maneira que estava efetuando a gravação, caso seja por indice ai tem que usar os nomes, caso não não tem necessidade.
Espero poder ter ajudado nessa duvida.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)