Fórum query mysql com erro #287670

11/07/2005

0

Estou com problemas na seguinte query abaixo:

DataMavar1.QryMarcas.close;
DataMavar1.QryMarcas.SQL.Clear;
DataMavar1.QryMarcas.SQL.Add(´select t1.descricao, t2.descricao from tb_modelos T1, tb_marcas T2´);
DataMavar1.QryMarcas.sql.add(´where T1.cod_marca = T2.cod_marca ´);
DataMavar1.QryMarcas.open;
DataMavar1.QryMarcas.UpdateCursorPos;
showmessage(DataMavar1.QryMarcas.fieldbyname(´descricao´).asstring);

if not DataMavar1.QryMarcas.RowsAffected <> 0 then
begin
CmbMarca.TEXT:=´´;
// CmbMarca.Text:= DataMavar1.QryMarcas.fields[1].asstring;
CmbMarca.Text:= DataMavar1.QryMarcas.fieldbyname(´descricao´).asstring;
//CmbMarca.Enabled:=FALSE;
end;

há princípio ela executa a query, mas como executamos a query com duas tabelas no data module temos que fazer um join.. o lance é que ele retorna um valor totalmente diferente do que esta gravado na tabela.. ou seja... acho que a query esta se perdendo (ainda nao consegui enchergar o erro)

Se alguem puder ajudar agradeço

obs: datamavar1 = datamodule..


Andersonfrr

Andersonfrr

Responder

Posts

12/07/2005

Henry Lima

Amigo o problema é o seguinte, você tem que tomar o hábito de criar os nomes dos campos das tabelas de maneira diferente, por exemplo faça o teste da mudando somente os nomes dos campos para o seguinte:

tb_modelos:

modedescricao

tb_marcas:

marcdescricao

Sendo assim a SQL ficaria da seguinte maneira:

select t1.modedescricao, t2.marcdescricao from tb_modelos t1, tbmarcas t2 where t1.cod_marca = t2.cod_marca

depois...

cmbMarca.Text := DataMavar1.QryMarcas.fieldbyname(´marcdescricao´).asstring;


Dessa maneira deve funcionar... O problema é que quando os campos descrição são iguais fica meio complicado fazer estas instruções, recomendo que renomeie os campos descricao para que fique mais facilitado a sua busca... qualquer coisa entre em contato...flw t+


Responder

Gostei + 0

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

Aceitar