Ambiguous field name between table RDB$RELATION_CONSTRAINTS
Estou utilizando os componentes Borland Data Provider que vem com o Delphi 2006, estou desenvolvendo uma aplicação ASP.NET Web Application utilizando os componente DataGrid, BdpConnection, BdpDataAdapter e DataSet, consigo configurar a conexão normalmente, mas quando entro no Data Adapter Comnfiguration e tento gerar uma SQL aparece a seguinte mensagem:
---------------------------
Borland Data Provider
---------------------------
Ambiguous field name between table RDB$RELATION_CONSTRAINTS and table RDB$RELATIONS
RDB$RELATION_NAME
---------------------------
OK
---------------------------
Alguém sabe o que pode ser?
Quando eu gero a query manualmente e depois seleciono um DataSet aparece a seguinte mensagem de erro também:
---------------------------
Borland Data Provider
---------------------------
TableMapping update failed: Ambiguous field name between table RDB$RELATION_CONSTRAINTS and table RDB$RELATIONS
RDB$RELATION_NAME
---------------------------
OK
---------------------------
Não tenho muita experiência em desenvolvimento ASP.NET com delphi, alguém tem uma dica de onde eu posso começar?
Abraço!
Desde já agradecido
---------------------------
Borland Data Provider
---------------------------
Ambiguous field name between table RDB$RELATION_CONSTRAINTS and table RDB$RELATIONS
RDB$RELATION_NAME
---------------------------
OK
---------------------------
Alguém sabe o que pode ser?
Quando eu gero a query manualmente e depois seleciono um DataSet aparece a seguinte mensagem de erro também:
---------------------------
Borland Data Provider
---------------------------
TableMapping update failed: Ambiguous field name between table RDB$RELATION_CONSTRAINTS and table RDB$RELATIONS
RDB$RELATION_NAME
---------------------------
OK
---------------------------
Não tenho muita experiência em desenvolvimento ASP.NET com delphi, alguém tem uma dica de onde eu posso começar?
Abraço!
Desde já agradecido
Adam
Curtidas 0
Respostas
Emerson Nascimento
06/12/2006
isso ocorre por conta da instrução sql.
imagine o seguinte:
tabela1
---------
nome
endereco
telefone
tabela2
---------
nome
profissao
nascimento
instrução:
select * from tabela1 tab1 left join tabela2 tab2 on (tab2.nome=tab1.nome)
where nome = ´ZÉ´
note que há o campo [i:7cc6fac38f]nome[/i:7cc6fac38f] nas duas tabelas. nesse caso o mecanismo não sabe qual utilizar no where, gerando a mensagem de ambiguidade de campos. para solucionar isso, basta fazer:
select * from tabela1 tab1 left join tabela2 tab2 on (tab2.nome=tab1.nome)
where [b:7cc6fac38f]tab1.[/b:7cc6fac38f]nome = ´ZÉ´
imagine o seguinte:
tabela1
---------
nome
endereco
telefone
tabela2
---------
nome
profissao
nascimento
instrução:
select * from tabela1 tab1 left join tabela2 tab2 on (tab2.nome=tab1.nome)
where nome = ´ZÉ´
note que há o campo [i:7cc6fac38f]nome[/i:7cc6fac38f] nas duas tabelas. nesse caso o mecanismo não sabe qual utilizar no where, gerando a mensagem de ambiguidade de campos. para solucionar isso, basta fazer:
select * from tabela1 tab1 left join tabela2 tab2 on (tab2.nome=tab1.nome)
where [b:7cc6fac38f]tab1.[/b:7cc6fac38f]nome = ´ZÉ´
GOSTEI 0
Emerson Nascimento
06/12/2006
note que o mesmo ocorreria na lista de campos selecionados:
select nome, endereco, profissao
from tabela1 tab1
left join tabela2 tab2 on (tab2.nome=tab1.nome)
where nome = ´ZÉ´
o mecanismo teria problema tanto no select quanto no where, por conta do campo [i:8ae8ecf649]nome[/i:8ae8ecf649]. o campo [i:8ae8ecf649]endereco [/i:8ae8ecf649]existe somente na tab1, o campo [i:8ae8ecf649]profissao [/i:8ae8ecf649]existe somente na tab2, mas o campo [i:8ae8ecf649]nome [/i:8ae8ecf649]existe em ambas e ele não sabe qual selecionar.
select nome, endereco, profissao
from tabela1 tab1
left join tabela2 tab2 on (tab2.nome=tab1.nome)
where nome = ´ZÉ´
o mecanismo teria problema tanto no select quanto no where, por conta do campo [i:8ae8ecf649]nome[/i:8ae8ecf649]. o campo [i:8ae8ecf649]endereco [/i:8ae8ecf649]existe somente na tab1, o campo [i:8ae8ecf649]profissao [/i:8ae8ecf649]existe somente na tab2, mas o campo [i:8ae8ecf649]nome [/i:8ae8ecf649]existe em ambas e ele não sabe qual selecionar.
GOSTEI 0
Adam
06/12/2006
Mas quando eu tento fazer a conexão com apenas uma tabela ocorre o mesmo problema, o que deve ser?
GOSTEI 0
Emerson Nascimento
06/12/2006
publique as instruções que estão dando problema...
GOSTEI 0