Erro: quot;Table Unknownquot; Alguém conhece?

Delphi

13/07/2005

Olá pessoal, tudo bem? Espero que sim.. Olha só o problema q tem me acontecido:

Já é a segunda vez que acontece isso.. Quando eu mudo alguma coisa numa tabela ele me da esse erro, mas só se eu modificar um campo existente. Estou usando Firebird, Delphi 7 e dbExpress.

Eu tinha a seguinte tabela:

[b:3e1ffe7b45]TbGrupos[/b:3e1ffe7b45]

PkCod_Grupo
NomeGrupo

Depois mudei e ficou assim:

[b:3e1ffe7b45]TbGrupos[/b:3e1ffe7b45]

PkCod_Grupo
NomeGrupo
TipoGrupo

O campo TipoGrupo tinha somente um caractere. Até aí funcionou bem e eu consegui salvar os registros.. mas aí mudei o campo TipoGrupo pra tamanho 10 e agora da o seguinte erro quando eu tento salvar um registro. Só salvar, pq o Insert funciona.. na hora do Post que dá esse erro:

Projetc Projeto.exe raised exception class EDatabaseError with message ´Table Unknown TbGrupos at line 1, column 8. ´.Process stopped. Use Step or run to continue.´


O q pode ser isso? Já não é a primeira vez q acontece isso comigo.. :cry:



Allan Elias Ramos :cry:


Aersoftware

Aersoftware

Curtidas 0

Respostas

Eliane Dorr

Eliane Dorr

13/07/2005

Lembre-se que para qualquer alteração feita no banco de dados é necessário ajustar também o seu data module. Dessa forma, é preciso deletar os fields no ClientDataSet e acrescentá-los novamente, e no SqlDataSet fazer o mesmo. Ah, dar um active false/true no ClientDataSet também ajuda, bem, se forem estes os componentes que vc está usando, é claro. Espero que ajude.


GOSTEI 0
Aersoftware

Aersoftware

13/07/2005

Eliane, preciso fazer isso com todos os campos? Eu fiz isso somente com o que eu modifiquei, mas vou tentar em todos eles quando chegar em casa. Valeu pela ajuda..



Allan Elias Ramos :wink:


GOSTEI 0
Aersoftware

Aersoftware

13/07/2005

Infelizmente não funcionou.. tirei os fields, botei denovo e nada.. da outra vez q deu o problema, tirei todos componentes do DbExpress e coloquei denovo e nada tb.. o que pode ser isso?



Allan Elias Ramos :wink:


GOSTEI 0
Aersoftware

Aersoftware

13/07/2005

Isso nunca aconteceu com alguém? É muito estranho..



Allan Elias Ramos :wink:


GOSTEI 0
Aersoftware

Aersoftware

13/07/2005

A última tentativa que eu fiz foi essa. agora há poko:

Tentei remover somente o campo que mudei, depois removi todos, depois removi os componentes do dbExpress e coloquei denovo e nada.. a última tentativa agora ha pouco foi de apagar o arquivos do banco de dados, depois entrei pelo IbExpert e registrei ele denovo gerando um script q eu tinha feito de backup, com ele zeradinho, sem dado nenhum, mas o problema persiste.. é estranho que aconteça isso, pois creio que mudar a tabela de dados seja algo comum na programação.. :-(



Allan Elias Ramos :cry:


GOSTEI 0
Aersoftware

Aersoftware

13/07/2005

Outro erro, relacionado a esse:

Entrei pelo IbExpert e inseri registros na tabela que dava problema. Funcionou pelo IbExpert. Agora, quando entro em outro form onde é obrigado eu selecionar o Grupo pra salvar, ele da o mesmo erro. mas dizendo ´Table Unknown TbSubGrupos´.. ou seja, ele dá erro na tabela atual pq eu tento inserir um registro da outra tabela que dava erro (TbGrupos)..

Testei entrando num form q a tabela nao tenha ligação com a TbGrupos e funcionou a inserção de dados. Foi perfeito.



Allan Elias Ramos :cry:


GOSTEI 0
Japa

Japa

13/07/2005

Amizade vou tentar dar uma resposta mas não sei se esta certa... mas quando eu usava componentes TTable antes de tudo precisava deixar ele no modo em que eu podia mexer com a tabela...
como por exemplo

TbSubGrupos.open;

sera que nao e isso???

Boa sorte amizade


GOSTEI 0
Aersoftware

Aersoftware

13/07/2005

Amigo, não funciona.

Ainda não entendi o pq, só sei que ele dá esse erro quando chega no ApplyUpdates(0), ou seja, na hora de efetivamente gravar no banco de dados.

O mais estranho é que tenho outros componentes com a mesma configuração e funcionam.

Alguém mais já passou por isso? Ou saberiam me dizer o que quer dizer o ´At line 1, Column 8´? da onde seria isso?

Agradeço a ajuda, ta dificil arrumar esse erro...



Allan Elias Ramos :cry:


GOSTEI 0
Kotho

Kotho

13/07/2005

Tente colocar os nomes de tabela e os nomes dos campos em maiúsculo... Para evitar esse tipo de problemas, eu escrevo minhas sql´s todas em maiúsculo...


GOSTEI 0
Gameiro

Gameiro

13/07/2005

Uma vez tiveum problema parecido,não lembro se foi o mesmo pois faz tempo, mas a solução foi a que o kotho mostrou.


Passei a escrever os nomes das tabelas em letra maiuscula.


select * from PRODUTOS


até mais. :)


GOSTEI 0
Gilberto Fernandes

Gilberto Fernandes

13/07/2005

o nome da tabela tem q estar em maiúsculas, volta e meia cometo esse vacilo...


GOSTEI 0
Aersoftware

Aersoftware

13/07/2005

Infelizmente nada disso funcionou. Estou realmente impressionado com esse problema. As tabelas são feitas todas em letras maiúsculas, é o padrão do IbExpert. Eu entrei por ele e tentei inserir registros e funcionou. Então acho q o problema não é da tabela, pq pelo IbExpert funciona.

O problema realmente acontece no ApplyUpdates(0).. mas entrando nos componentes do dbExpress, ele acha a tabela. Tanto que no CommandText do SQLDataSet, eu nem digito nada pra inserir o comando SQL, é só clicar na Tabela que ele automaticamente coloca os comandos.



Allan Elias Ramos :cry:


GOSTEI 0
Nandolh

Nandolh

13/07/2005

Uma dúvida me surgiu:


Com que usuário vc está acessando o Banco pelo DELPHI???
Se não for SYSDBA, pode ser problema de não ter o GRANT para a tabela que vc esteja tentando acessar...


GOSTEI 0
Aersoftware

Aersoftware

13/07/2005

Pessoal, ficou realmente muito grato com a ajuda de todos vcs.. Consegui arrumar esse erro. Tive que botar todo SQL de dentro do código fonte pra maísculo mesmo pra funcionar. O estranho é q não funcionava assim antes. Eu acho q foi algumas mudanças no SQL q fizeram ele dar esse problema. Mas agora esta resolvido.

Muito obrigado a todos..

Abraços..



Allan Elias Ramos :wink:


GOSTEI 0
POSTAR