Quote
>it should never be used when working with SQL databases, and for that
matter, neither should TIBTable<<
You know far better than I, but that not what I needed to hear. We are
evaluating IB, and were under the impression that tight integration with
Delphi was one of the benefits; perhaps this is an exaggeration. If we
wanted to write SQL scripts all day we'd use Microsoft. Our hope was that
tightly integrated controls would allow us to wrap up an API that matched
our existing automated development systems.
Regarding our use of a TIBTable: We were testing with a TIBDataSet, but
no one (at Borland or in this newsgroup) could tell us how to write records
back to the database (see posting entitled "TIBCustomDataSet.ModifySQL?" in
this group).
Maybe you could offer some tactical-level advice: At this point, we
have to either 1) give up on IB and stick with our proprietary DBMS for
another couple years (our server-side is not nearly as robust as IB, but
we're very spoiled on the client-side API which is extremely elegant), 2)
use IB, but pick which controls to use based more on the support available
for them than on their supposed appropriateness (documentation being a
significant issue with IBX), or 3) find some aftermarket solution for
client-side IB controls that are well tested and fully documented.
Any advice? After hearing Jeff Overcash's comments here that IBX had
reached the end of it is life cycle, should we bother investing time in this
at all?
Thanks,
-Matt
"Wayne Niddery [TeamB]" <
XXXX@XXXXX.COM>writes
Quote
Matt writes:
>I can not seem to make this work. I am probably missing something
>simple, but I can not find any docs on this (D6/IB7Server). In test
>code, when adding a record to a table using .append, an attached
>DBGrid shows a new empty record, but the TIBTable control does not.
>The following code snippet:
>>>
>showmessage('Before: '+inttostr(MyTIBTable.recordcount));
>MyTIBTable.append;
>showmessage('After: '+inttostr(MyTIBTable.recordcount));
><<
>Shows the same number of records before and after the .Append call.
>Also, TIBTable.RecNo comes back as zero after the append (I think
>it's supposed to point to the new record). Inserting a
>TIBTransaction.Commit doesn't help. No exceptions are raised.
When you append, nothing has been written to the database yet. That only
happens after you post (this is true with all standard datasets). However
even then I'd not count on RecordCount - it should never be used when
working with SQL databases, and for that matter, neither should TIBTable.
TIBTable is really only provided to make migration easier for apps using
TTable (BDE). If possible, use TIBDataset, TIBSQL, and only if necessary,
TIBQuery, and avoid use of RecordCount.
Take a look at bdn.borland.com/article/0,1410,28160,00.html. It was
written with BDE in mind but applies in all cases table and query
components.
--
Wayne Niddery - Logic Fundamentals, Inc. (www.logicfundamentals.com)
Powered by Delphi and IB: www.logicfundamentals.com/RadBooks.html
"Democracy, without that guarantee of liberty, is merely a method of
selecting tyrants." - Alan Nitikman