Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Programm Portierung von dbOvernet zu Ibobjects (https://www.delphipraxis.net/113485-programm-portierung-von-dbovernet-zu-ibobjects.html)

rambothekid 8. Mai 2008 14:54

Datenbank: Firebird • Version: 2.0 • Zugriff über: Ibobjects

Programm Portierung von dbOvernet zu Ibobjects
 
Hallo

ich habe folgendes Problem ich habe eine größe Anwendung welch in Ihrem Ursprung zu dartstellung die alten dbOvernetClientdataset nutz,
jetzt hab ich schon einen teil umgestell auf IBObjects. Scheitere aber jetzt an einer Funktion die sehr oft im Programm genutzt wird aber ich nicht weiß wie ich diese elegant mit IBObjects lösen kann weil die Tiboquery diese funktionen nicht zur verfügung stellt *fett makiert*

FSET_TICKETS := TdbOClientDataset.Create(self);
FSET_TICKETS.ClientConnection := TisDM.DM.SET_SUCHE.ClientConnection;
FSET_TICKETS.ServerTableName := 'TIS_TICKET';
FSET_TICKETS.KeyFieldNames := 'I_TIS_TICKET_ID;ftInteger';
FSET_TICKETS.AutoUpdate := True;
FSET_TICKETS.Active := True;


Hat wer eine Idee wie ich diese Autoupdate funktion mit IBObjects realisieren kann bzw ob es überhaupt geht ?

mkinzler 8. Mai 2008 15:02

Re: Programm Portierung von dbOvernet zu Ibobjects
 
Was macht das AutoUpdate?

RavenIV 8. Mai 2008 15:03

Re: Programm Portierung von dbOvernet zu Ibobjects
 
Mal eine direkte Frage:
Was hat Dich dazu bewegt, die IBObject zu verwenden?
Warum benutzt Du nicht andere Komponenten für den Zugriff auf FB?

rambothekid 8. Mai 2008 16:03

Re: Programm Portierung von dbOvernet zu Ibobjects
 
Autoupdate heißt:

das ich die Daten in meinem Dataset habe und die Felder ändern kann und diese Änderungen automatisch in die DB gepostet werden
es gibt für IBO einen workaround der aber sehr ätzend ist von daher die Frage nach einer Eleganteren Lösung

{$IFDEF USE_IBO}
FSET_TICKETS := TIBOQuery.Create(Self);
FSET_TICKETS.IB_Connection := TisDM.DM.IB_Connection1;
FSET_TICKETS.EditSQL.Text :=
' UPDATE TIS_TICKET SET ' +
' I_USER_ID = :I_USER_ID,' +
' I_KUNDE_KST_ID = :I_KUNDE_KST_ID,' +
' I_BEARB_KST_ID = :I_BEARB_KST_ID,' +
' I_PRIORITY = :I_PRIORITY, ' +
' V_TITEL = :V_TITEL, ' +
' V_DETAIL = :V_DETAIL, ' +
' V_SOLUTION = :V_SOLUTION, ' +
' V_LAST_EDITOR = :V_LAST_EDITOR ' +
' WHERE I_TIS_TICKET_ID = :I_TIS_TICKET_ID ';
{$ELSE}
FSET_TICKETS := TdbOClientDataset.Create(self);
FSET_TICKETS.ClientConnection := TisDM.DM.SET_SUCHE.ClientConnection;
FSET_TICKETS.ServerTableName := 'TIS_TICKET';
FSET_TICKETS.KeyFieldNames := 'I_TIS_TICKET_ID;ftInteger';
FSET_TICKETS.AutoUpdate := True;
FSET_TICKETS.BlobsAsParams := True;
FSET_TICKETS.Active := True;

dataspider 8. Mai 2008 17:21

Re: Programm Portierung von dbOvernet zu Ibobjects
 
Hi,

ich kenne halt nur IBO, nicht dieses dbOvernetClientdataset.
Deshalb kann ich nur raten:

statt:
FSET_TICKETS.ServerTableName := 'TIS_TICKET';
FSET_TICKETS.SQL.TEXT := 'select * from TIS_TICKET';

statt
FSET_TICKETS.KeyFieldNames := 'I_TIS_TICKET_ID;ftInteger';
FSET_TICKETS.KeyLinks.Add('I_TIS_TICKET_ID')

statt
FSET_TICKETS.AutoUpdate := True;
FSET_TICKETS.RequestLivee := True;

Active geht normalerweise
FSET_TICKETS.Active := True;

Falls Daten eingefügt werde und ein Generator da ist, dann noch
FSET_TICKETS.GeneratorLinks.Add('I_TIS_TICKET_ID=G EN_I_TIS_TICKET_ID'); // oder wie immer der heisst

Evtll. an der Connection noch AutoCommit...

Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz