Italian community of Lazarus and Free Pascal
Programmazione => Databases => Topic aperto da: tritapepe - Luglio 18, 2012, 07:36:51 pm
-
Un saluto a tutti.
Ho provato a collegare due tabelle "utilizzo firebird 2.5" con l'oggetto Uibdataset di UIB
ecco come ho fatto:
1) mi creo l'istruzione sql: 'select * from archivio'
2) eseguo l'struzione uibdataset1.open
3) creo l'struzione sql per la 2 tabella UIBDataSet2.Params.AsString[0] := UIBDataSet1.FieldByName('NR_PROG').AsString;
4) eseguo l'struzione uibdataset2.open
Tutto ok!
5) a questo punto mi posiziono
sul 2 record
della prima tabella uibdataset1.next
6)la ricollego con la seconda UIBDataSet2.Params.AsString[0] := UIBDataSet1.FieldByName('NR_PROG').AsString;
7) per poter leggere i dati della
seconda tabella devo prima chiuderla UIBDataSet2.close;
8)riapro uibdataset2.open;
ok funziona
9) provo a leggere il terzo
record uibdataset1.next
ecco il problema
quando ho utilizzato il metodo UIBDataSet2.close questo ha chiuso anche la prima tabella UIBDataSet1
e non mi permette pių di andare avanti con next e prior
:'(
dove ho sbagliato ?
ps
con l'oggetto UibQuery non ci sono problemi.
-
Riesci a farci un piccolo esempio (uno zip) sarebbe perfetto cosė anche per noi č pių facile circoscrivere la problematica!
-
non conosco bene quei componenti ma potresti monitorare il comportamento della/e transazione/i
a volte capita che, in seguito ad una certa operazione, la transazione si chiude e con essa tutte le tabelle referenziate
solitamente la transazione si chiude quando si applicano le modifiche al database (Apply).
Se cosė fosse dovresti provare una "CommitRetaining" al posto della semplice "Commit".
-
come richiestomi alleg un piccolo esempio pių il file fdb.
Il mio scopo č quello di collegare piu tabelle fra di loro
utilizzando l'oggetto uibdataset.
-
Ok, dove trovo il package UIBLaz da installare?!
-
lo trovi qui: http://www.progdigy.com/