Search  
Tuesday, August 16, 2022 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Client/Server  Utilizarea CA...
 Utilizarea CA
 
 1/30/2020 9:27:51 PM
User is offlinealemao
353 posts
3rd


Utilizarea CA
 (N/A)
Salutare d-le Buduru,

Inainte de toate vreau sa va multumesc cu mult respect, ca ati avut rabdare sa-mi explicati avantajele unui cursor adapter.

Astfel ca am adunat ceva experienta si fiind incantat de CA m-am gandit sa refac o mai veche aplicatie de registratura electronica.

Asadar, am creat o baza de date pe FireBird identica cu cea din VFP.
Din pacate, codul a trebuit refacut forma respectiv rescrise comenzile.
Zis si facut.

Toate bune si frumoase pana la inregistrarea datelor in tabela registru.
Eu cred ca fac o greseala undeva care imi scapa.

Asadar, am creat un CA ptr registru.

In methoda OpenFiles din DE a formei am codul de mai jos

Public goca_reg
goca_reg = NewObject('creg_avize','myca')
If Vartype(goca_reg)='O'
goca_reg.selectcmd = 'select * from registru where nr_aviz=?this.nnr_aviz and data_aviz=?this.ddata_aviz'
AddProperty(goca_reg,'nnr_unic',0)
AddProperty(goca_reg,'ddata_unic',.null.)

* am creat o tabela last_insert_id, unde stochez ultimul ID generat
goca_reg.InsertCmdRefreshCmd = ;
[Select last_insert_id.id AS id, ]+;
[creg_avize.nr_unic, creg_avize.data_unic ]+;
[From last_insert_id, creg_avize ]+;
[Where table_name = '] + Upper('creg_avize')+' '+;
['and creg_avize.id = last_insert_id.id]
goca_reg.InsertCmdRefreshFieldList = ;
[id, nr_unic, data_unic]

If goca_reg.cursorfill()
AddProperty(goca_reg,'nhandle',CursorGetProp("ConnectHandle"))
Else
err_conex = .T.
MessageBox('Eroare generare cursor pt tabela registru avize!',0+16+0,'Stop ...')
EndIf
Else
err_conex = .T.
MessageBox('Eroare conexiune la tabela registru avize!',0+16+0,'Stop ...')
EndIf

SQLSETPROP(goca_reg.nHandle,'TRANSACTIONS',1)



Iar in methoda Init a formei am:
Select cReg_avize
Append Blank

... ... ...

Ce nu-mi este clar!!!

Cand se executa metoda Click a butonului cmdSave :
llSucces = Tableupdate(2,.T.,'creg_avize')

care imi intoarce llSucces = .F.



Acum ma intreb, sa fie din cauza ca tranzactiile nu sunt manuale??
Nu-mi este clara logica tranzactiilor automate !!!

In cazul de mai sus, cand se produce tranzactia automata si mai alex cum/cand are loc inregistrarea datelor din creg_avize pe server?
Sa inteleg ca nu mai este necesara comanda Tableupdate pe creg_avize?
Bun si atunci cum/cand stie CA ca trebuie sa salveze inregistrarea pe server?

Multumesc frumos ptr ajutor!!!


 2/10/2020 7:43:11 PM
User is offlinealemao
353 posts
3rd


Re: Utilizarea CA
 (N/A)
Rezolvat, multumesc!
  Visual FoxPro  Client/Server  Utilizarea CA...

Search  Forum Home         

Copyright 2002-2013 Profox   Terms Of Use  Privacy Statement