deleção e alteração

9 views
Skip to first unread message

edregis

unread,
Mar 30, 2009, 9:01:20 AM3/30/09
to tiOPF.br
Bom dia a todos!
Eu sei que isso deve ser algo bem simples no tiOPF, mas eu não estou
entendendo muito bem como funciona...
Consegui numa boa conectar com diversos tipos de bancos, consigo
inserir registros, atualizar os datasets (refresh), mas ainda não
consegui alterar nem excluir um registro.
Alguem poderia me dizer quais são os métodos do tiOPF para eu fazer
isso (alteração e deleção)?
Se eu trabalhar com o TTiDataSet, preciso adicionar o campo OID tambem
no dataset?
Que métodos usar? Delete, remove?
Preciso implementar isso no _BOM?
Eu estava seguindo o exemplo OneToMany do proprio tiOPF, mas lá não
tem isso... e nos outros exemplos eles já utilizam o componente
TTiListView, e eu não irei utilizar esse componente no projeto...

Abraços, e obrigado!

Edelson.

Diogo Augusto Pereira

unread,
Mar 30, 2009, 12:31:51 PM3/30/09
to tiop...@googlegroups.com
Edelson,

Nesta thread tem alguns exemplos de como fazer essas operações:
http://groups.google.com/group/tiopf_br/browse_thread/thread/53d0e1dab884895
b

Quanto ao TTiDataSet não posso dizer muita coisa, pois nunca usei...


-----Mensagem original-----
De: tiop...@googlegroups.com [mailto:tiop...@googlegroups.com] Em nome de
edregis
Enviada em: segunda-feira, 30 de março de 2009 10:01
Para: tiOPF.br
Assunto: deleção e alteração

edregis

unread,
Mar 30, 2009, 1:36:27 PM3/30/09
to tiOPF.br
Diogo, quando eu clico no link que voce passou, dá o seguinte erro;

"Tópico não localizado
Desculpe. Não foi possível localizar o tópico que você estava
procurando. Talvez o URL em que você clicou esteja desatualizado ou
não funcione."

Existe algum arquivo na seção "Arquivos" da lista? Eu já vi em algumas
mensagens daqui do forum dizerem que tem exemplos lá, mas para mim não
aparece nada...
Será que preciso configurar alguma coisa na minha conta para esses
ítems aparecerem?

Até mais,

Edelson.


On 30 mar, 13:31, "Diogo Augusto Pereira" <diogoa...@gmail.com> wrote:
> Edelson,
>
> Nesta thread tem alguns exemplos de como fazer essas operações:http://groups.google.com/group/tiopf_br/browse_thread/thread/53d0e1da...

Daniel Augusto Bastos

unread,
Mar 30, 2009, 1:41:39 PM3/30/09
to tiop...@googlegroups.com
A URL dele falta um "b" no final. URL Correta:
http://groups.google.com/group/tiopf_br/browse_thread/thread/53d0e1dab884895b

Abs
Daniel Augusto Bastos


2009/3/30 edregis <edr...@gmail.com>

edregis

unread,
Mar 30, 2009, 1:57:12 PM3/30/09
to tiOPF.br
Eu dei uma olhada no exemplo (eu já tinha até lido ele outro dia
atrás), e meu problema está aqui:
lEmpresa.OID.AsString:= '5B535BCE-E495-4C21-AEB0-1BF0688D651D';
Como voces pegam o OID do objeto selecionado na lista?
Eu tentei com alguns métodos de pesquisa do TtiObjectList mas não
rolou... devo estar fazendo algo errado.



On 30 mar, 14:41, Daniel Augusto Bastos <danbas...@gmail.com> wrote:
> A URL dele falta um "b" no final. URL Correta:http://groups.google.com/group/tiopf_br/browse_thread/thread/53d0e1da...
>
> Abs
> Daniel Augusto Bastos
>
> 2009/3/30 edregis <edre...@gmail.com>

Daniel Augusto Bastos

unread,
Mar 30, 2009, 2:29:54 PM3/30/09
to tiop...@googlegroups.com
No exemplo do TiDataSet realmente não tem, mas é bm simples. Vc pode acessar o objeto selecionado no Grid da seguinte forma:
 tiDataSet.GetActiveItem

este representa o seu objeto instanciado no TTiDataSet. Claro que, pra vc acessar seu objeto na integra, vc vai ter que fazer um TypeCast pra ele. :)

Abs
Daniel Augusto Bastos


2009/3/30 edregis <edr...@gmail.com>

edregis

unread,
Mar 30, 2009, 5:01:01 PM3/30/09
to tiOPF.br
Já estou conseguindo trabalhar sem o dataset.
Porém está dando o seguinte erro quando tento executar o
lCliente.ReadThis;
Attempt to execute visitors for a unknown visitor group
"StandardTask_ReadThis"
No meu Cliente_BOM criei o método ReadThis herdado do tiObject, e no
meu Cliente_HardCodedVisitors_Svr está tudo direitinho...



On 30 mar, 15:29, Daniel Augusto Bastos <danbas...@gmail.com> wrote:
> No exemplo do TiDataSet realmente não tem, mas é bm simples. Vc pode acessar
> o objeto selecionado no Grid da seguinte forma:
>  tiDataSet.GetActiveItem
>
> este representa o seu objeto instanciado no TTiDataSet. Claro que, pra vc
> acessar seu objeto na integra, vc vai ter que fazer um TypeCast pra ele. :)
>
> Abs
> Daniel Augusto Bastos
>
> 2009/3/30 edregis <edre...@gmail.com>

Diogo Augusto Pereira

unread,
Mar 30, 2009, 10:14:18 PM3/30/09
to tiop...@googlegroups.com
É faltou mesmo, valeu Daniel.

Edelson, no grupo não tem nada de exemplos. Eu sempre usei os demos oficiais como referência. Acho que um tempo atrás estávamos pensando em colocar alguns exemplos aqui, mas ficou só na idéia mesmo.


2009/3/30 Daniel Augusto Bastos <danb...@gmail.com>

Diogo Augusto Pereira

unread,
Mar 30, 2009, 10:18:29 PM3/30/09
to tiop...@googlegroups.com
Chegou a conferir o registro do visitor? O método AcceptVisitor está correto?

2009/3/30 edregis <edr...@gmail.com>

edregis

unread,
Mar 31, 2009, 9:02:07 AM3/31/09
to tiOPF.br
Acho que está tudo correto sim, segue o código do update abaixo:

function TVisCliente_Update.AcceptVisitor: boolean;
begin
result := ( Visited is TCliente ) and
( Visited.ObjectState = posUpdate ) ;
end;

procedure TVisCliente_Update.Init;
begin
Query.SQL.Text :=
'Update Cliente Set ' +
' Cliente_Nome = :Cliente_Nome ' +
' ,Cliente_ID = :Cliente_ID ' +
' ,Cliente_Email = :Cliente_Email ' +
'where ' +
' OID = :OID' ;
end;

procedure TVisCliente_Update.SetupParams;
var
lData : TCliente ;
begin
lData := Visited as TCliente ;
lData.OID.AssignToTIQuery('OID', Query);
Query.ParamAsInteger['Cliente_ID'] := lData.ClienteID ;
Query.ParamAsString['Cliente_Nome'] := lData.ClienteNome ;
Query.ParamAsString['Cliente_Email'] := lData.ClienteEmail ;
end;

Quando ao método ReadThis, eu fiz o seguinte no meu Cliente_BOM:

publised
procedure ReadThis; override;

implementation

procedure TCliente.ReadThis;
begin
inherited;
end;

Será que preciso implementar mais alguma coisa no ReadThis?

Abraços, e obrigado a todos pela ajuda.

Edelson.


On 30 mar, 23:18, Diogo Augusto Pereira <diogoa...@gmail.com> wrote:
> Chegou a conferir o registro do visitor? O método AcceptVisitor está
> correto?
>
> 2009/3/30 edregis <edre...@gmail.com>

edregis

unread,
Mar 31, 2009, 12:50:46 PM3/31/09
to tiOPF.br
Bom, olhando uns posts antigos, eu vi como implementar o ReadThis, que
era o que estava dando erro, e agora funcionou direitinho...

Abs,

Edelson.
Reply all
Reply to author
Forward
0 new messages