PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Objeto UpdateSql em Runtima (atualizar) tem como? #226231

15/04/2004

0

Galera eu tenho isso aqui:


qryOrigem.Sql.Add(´SELECT * FROM CLIENTE´); qryDestino.Sql.Add(´Insert into Cliente(:Campo1,:Campo2,:Foto,:Campo3);´); while not qryOrigem.EOF do begin qryDestino.ParamByName(´CAMPO1´).AsString := qryOrigem.FieldByName(´CAMPO1´).AsString; qryDestino.ParamByName(´CAMPO2´).AsString := qryOrigem.FieldByName(´CAMPO2´).AsString; qryDestino.ParamByName(´FOTO´).AsString := qryOrigem.FieldByName(´FOTO´).AsString; qryDestino.ParamByName(´FOTO´).Value := qryOrigem.FieldByName(´FOTO´).Value; try qryDestino.ExecSql; except ShowMessage(´Erro´); end; qryOrigem.Next; end;



O problema é que dá um erro:

Unsupported feature
O que pode ser isso?

Descobri que se usar com objeto UpdateSQL funciona, mas no meu caso estou fazendo uma ferramentea e tudo será em runtime. A seleção das tabels, dos campos e etc. ou seja, teria que em runtime ´adicionar´ os campos que será ´aplyados´ (nossa) no objeto UpdateSQL.

qryOrigem.Sql.Add(´SELECT * FROM CLIENTE´); qryDestino.Sql.Add(´SELECT * FROM CLIENTE WHERE CAMPO = ´BATATINHA_QUANDO_NASCE´´); {CARREGA VAZIO} while not qryOrigem.EOF do begin qryDestino.Insert; qryDestino.ParamByName(´CAMPO1´).AsString := qryOrigem.FieldByName(´CAMPO1´).AsString; qryDestino.ParamByName(´CAMPO2´).AsString := qryOrigem.FieldByName(´CAMPO2´).AsString; qryDestino.ParamByName(´FOTO´).AsString := qryOrigem.FieldByName(´FOTO´).AsString; qryDestino.ParamByName(´FOTO´).Value := qryOrigem.FieldByName(´FOTO´).Value; try qryDestino.Post; qryDestino.ApplyUpdates; except ShowMessage(´Erro´); end; qryOrigem.Next; end;



alguma solução?


Adriano Santos

Adriano Santos

Responder

Posts

16/04/2004

Adriano Santos

[color=red:3bd01afd1d]{faz a inclusao}[/color:3bd01afd1d] [color=green:3bd01afd1d]qryGenericaDestino.Sql.Clear; qryGenericaDestino.Sql.Add(´SELECT * FROM ´ + Trim(ATabela)); [/color:3bd01afd1d][color=red:3bd01afd1d]{Ajustar aqui}[/color:3bd01afd1d] [color=green:3bd01afd1d]qryGenericaDestino.Open;[/color:3bd01afd1d] [color=red:3bd01afd1d]{Atualiza o objeto UpdateSQL}[/color:3bd01afd1d] [color=green:3bd01afd1d]IBUpdateDestino.InsertSQL.Clear; IBUpdateDestino.InsertSQL.Add[/color:3bd01afd1d]([color=red:3bd01afd1d]´INSERT INTO TABELA (:C1..C10..ETC)´[/color:3bd01afd1d]);


A minha principal dúvida era saber os campos chave da tabela, já que o procedimento é feito em runtime, ou seja, escolho a tabela que será verificada em runtime. Bom, como só vou usar a propriedade Insert, então não preciso atualizar outras propriedades.

pensei que era mais difícil....


Responder

Gostei + 0

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

Aceitar