Invalid Column Name

Delphi

03/01/2006

Estou programando multicamadas utilizando clientdataset, datasetprovider, datasource para ligar os componentes as fields, está tudo ok!

no momento que dou um applyupdates(0) aparece a mensagem dizendo que a coluna codigo_comissao é inválida mas está tudo certo! em todos os lugares! não sei mais o que faço!!! :lol:

Se alguém puder ajudar Agradeço mto!! pq não consigo mais pensar em soluções... hehe :?: [b:e5bddfd50c][/b:e5bddfd50c]


Webcindy

Webcindy

Curtidas 0

Respostas

Edilcimar

Edilcimar

03/01/2006

algumas vezes um pequeno deslize no mome, tipo trocar um letra, comer uma letra, tinha um campo e modificou o mesmo e deixou ´rabo´


GOSTEI 0
Webcindy

Webcindy

03/01/2006

Mto obrigada pela sugestao mas...
Pior que está tudo certo... pelo que olhei não tem ´rabo´ nenhum... já refiz todas as configurações novamente...

obs: o erro aparece pq coloquei no reconcileerror o seguinte:

raise Exception.Create( E.Message );

senão não apareceria nda.. simplismente não grava no banco

o erro do appyupdates(0) é igual a 1.

Sabe o que eh?


GOSTEI 0
Webcindy

Webcindy

03/01/2006

será que é um erro de sql?

o nome da coluna está certinho ... no banco também, a query está puxando a field com o nome correto, o cds tbm!

mas na hora de gravar no banco dá erro dizendo que o nome da coluna é inválido!!!

não sei o q faço!
:x


GOSTEI 0
Edilcimar

Edilcimar

03/01/2006

mostre a query


GOSTEI 0
Webcindy

Webcindy

03/01/2006

select C.*,
(select L.nome_linha from linha L where L.cod_linha = C.codigo_linha)
as nom_linha
from Comissao C where C.codigo_comissao = :_codigo_comissao


GOSTEI 0
Edilcimar

Edilcimar

03/01/2006

e com este código aparece algo num dbgrid?
select L.nome_linha from linha L where -> vc parece estar selecionando from L mas mandou selecionar from linha com um espaço e depos L!


GOSTEI 0
Michael

Michael

03/01/2006

Não entendi o q vc quis dizer, [b:ae143342ad]Edilcimar[/b:ae143342ad]. A query parece correta para mim... O [b:ae143342ad]L[/b:ae143342ad] depois de [b:ae143342ad]Linha[/b:ae143342ad] não é o apelido para a tabela?

Talvez o C.* esteja retornando alguma coluna que não deveria ser salva (um campo calculado, por exemplo), ou algo assim.

Uma outra dica é no [b:ae143342ad]DataSetProvider[/b:ae143342ad], setar a propriedade [b:ae143342ad]UpdateMode [/b:ae143342ad]para [b:ae143342ad]upWhereKeyOnly[/b:ae143342ad], e no DataSet associado a ele, configure a propriedade [b:ae143342ad]ProviderOptions[/b:ae143342ad]->[b:ae143342ad]pfInWhere [/b:ae143342ad]para [b:ae143342ad]False [/b:ae143342ad]de todos os Fields, com exceção do campo que representa a chave primária, que deve ter tbm [b:ae143342ad]ProviderOptions[/b:ae143342ad]->[b:ae143342ad]pfInKey [/b:ae143342ad]igual a [b:ae143342ad]True[/b:ae143342ad].

[]´s


GOSTEI 0
Edilcimar

Edilcimar

03/01/2006

tem razão michael eu dei bobeira!


GOSTEI 0
POSTAR