Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

what is the error in ClientDataSet.ApplyUpdates

158 views
Skip to first unread message

us...@domain.invalid

unread,
Jul 28, 2008, 8:02:24 PM7/28/08
to
I have a table that containing a filed of type Decimal(8,3).
I connected with ibquery connect to DataSetProvider connected with
ClientDataSet.
when execute ClientDataSet.ApplyUpdates(0) work fine.
but if we increase the scale as Decimal(8,6) and execute
ClientDataSet.ApplyUpdates(0), I get the error EIBClientError With
Message Unsupported feature

Craig Stuntz [TeamB]

unread,
Jul 28, 2008, 10:13:16 AM7/28/08
to
Are you using an old version of Delphi?

--
Craig Stuntz [TeamB] · Vertex Systems Corp. · Columbus, OH
Delphi/InterBase Weblog : http://blogs.teamb.com/craigstuntz
Useful articles about InterBase development:
http://blogs.teamb.com/craigstuntz/category/21.aspx

us...@domain.invalid

unread,
Jul 28, 2008, 8:27:00 PM7/28/08
to
Craig Stuntz [TeamB] wrote:
> Are you using an old version of Delphi?
>
I Using Delphi Ver. 7 And IterbaseExpress 7.09;
but the same error occur in Delphi 2007 unregistered Version download
from codegear site

us...@domain.invalid

unread,
Jul 28, 2008, 8:38:07 PM7/28/08
to
Craig Stuntz [TeamB] wrote:
> What is the call stack with Debug DCUs enabled>
>
not clear

Craig Stuntz [TeamB]

unread,
Jul 28, 2008, 10:28:40 AM7/28/08
to
What is the call stack with Debug DCUs enabled>

--

Craig Stuntz [TeamB] · Vertex Systems Corp. · Columbus, OH
Delphi/InterBase Weblog : http://blogs.teamb.com/craigstuntz

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html

Marc Rohloff [TeamB]

unread,
Jul 28, 2008, 11:23:30 AM7/28/08
to

Go to compiler options, check the 'Debug DCUs' checkbox and rebuild
your program.
When you get the exception go t View\Debug Windows\Call Stack. You
should be able to copy and paste from there.

--
Marc Rohloff [TeamB]
marc -at- marc rohloff -dot- com

user

unread,
Jul 29, 2008, 2:49:34 AM7/29/08
to

IBError(ibxeNotSupported,(...))
TIBXSQLVAR.SetAsVariant(???)
TIBCustomDataSet.PSExecuteStatement('update "T_REGDAILYLST" set'#$D#$A' "CURRENCYRATE" = ?'#$D#$A'where'#$D#$A' "YEARID" = ? and'#$D#$A' "YEARMONTH" = ? and'#$D#$A' "REGNO" = ? and'#$D#$A' "SEQNO" = ? and'#$D#$A' "ACCNO" = ? and'#$D#$A' "COSTCENTERID" = ? and'#$D#$A' "CURRENCYID" = ? and'#$D#$A' "CURRENCYRATE" = ? and'#$D#$A' "FDAMOUNT" = ? and'#$D#$A' "FCAMOUNT" = ? and'#$D#$A' "TRANTYPE" = ? and'#$D#$A' "DAMOUNT" = ? and'#$D#$A' "CAMOUNT" = ? and'#$D#$A' "SUBDESC" = ? and'#$D#$A' "DOCNO" = ? and'#$D#$A' "DOCDATE" is null'#$D#$A,$D96484,nil)
TSQLResolver.DoExecSQL($A9A1C4,$D96484)
TSQLResolver.InternalDoUpdate($A09B28,ukModify)
TSQLResolver.DoUpdate($A09B28)
TCustomResolver.InternalUpdateRecord($A09B28)
TUpdateTree.DoUpdates
TCustomResolver.ApplyUpdates(Variant array of Byte,0,0)
TBaseProvider.InternalApplyUpdates(Variant array of Byte,0,0)
TDataSetProvider.InternalApplyUpdates(Variant array of Byte,0,0)
TCustomProvider.ApplyUpdates(Variant array of Byte,0,0,Unassigned)
TLocalAppServer.AS_ApplyUpdates('dsp_RegDailyLst',Variant array of Byte,0,0,Unassigned)
TCustomClientDataSet.DoApplyUpdates(Variant array of Byte,0,0)
TCustomClientDataSet.ApplyUpdates(0)
TForm1.b_AccountClick(???)
TControl.Click
TButton.Click
TButton.CNCommand((48401, 1622, 0, 1181270, 0))
TControl.WndProc((48401, 1622, 1181270, 0, 1622, 0, 1622, 18, 0, 0))
TWinControl.WndProc((48401, 1622, 1181270, 0, 1622, 0, 1622, 18, 0, 0))
TButtonControl.WndProc((48401, 1622, 1181270, 0, 1622, 0, 1622, 18, 0, 0))
TControl.Perform(48401,1622,1181270)
DoControlMsg(1181270,(no value))
TWinControl.WMCommand((273, 1622, 0, 1181270, 0))
TCustomForm.WMCommand((273, 1622, 0, 1181270, 0))
TControl.WndProc((273, 1622, 1181270, 0, 1622, 0, 1622, 18, 0, 0))
TWinControl.WndProc((273, 1622, 1181270, 0, 1622, 0, 1622, 18, 0, 0))
TCustomForm.WndProc((273, 1622, 1181270, 0, 1622, 0, 1622, 18, 0, 0))
TWinControl.MainWndProc((273, 1622, 1181270, 0, 1622, 0, 1622, 18, 0, 0))
StdWndProc(2164350,273,1622,1181270)
TWinControl.DefaultHandler((no value))
TControl.WMLButtonUp((514, 0, 62, 16, (62, 16), 0))
TControl.WndProc((514, 0, 1048638, 0, 0, 0, 62, 16, 0, 0))
TWinControl.WndProc((514, 0, 1048638, 0, 0, 0, 62, 16, 0, 0))
TButtonControl.WndProc((514, 0, 1048638, 0, 0, 0, 62, 16, 0, 0))
TWinControl.MainWndProc((514, 0, 1048638, 0, 0, 0, 62, 16, 0, 0))
StdWndProc(1181270,514,0,1048638)
TApplication.ProcessMessage((1181270, 514, 0, 1048638, 88019984, (505, 623)))
TApplication.HandleMessage
TApplication.Run
Project1

Craig Stuntz [TeamB]

unread,
Jul 29, 2008, 9:58:38 AM7/29/08
to
user wrote:

> TIBXSQLVAR.SetAsVariant(???)

OK:

case VarType(Value) of
// snip
varArray:
IBError(ibxeNotSupported, [nil]);
else
IBError(ibxeNotSupported, [nil]);

OK, so your param is either coming through as an array (unlikely) or
something else. Most likely, "something else." Now, as I recall (and
I'll freely admit I don't recall Delphi 7 very well), the support for
scaled exact decimal values in TParam was rather "limited." You might
try using TIBDataSet, which doesn't use TParams, but unfortunately
going through ClientDataSet may bring a TParam into the mix anyway.

But give it a try and see if it works; if it doesn't, a workaround is
to handle TDataSetProvider.BeforeUpdateRecord and handle the update
yourself.

--
Craig Stuntz [TeamB] · Vertex Systems Corp. · Columbus, OH
Delphi/InterBase Weblog : http://blogs.teamb.com/craigstuntz

Everything You Need to Know About InterBase Character Sets:
http://blogs.teamb.com/craigstuntz/articles/403.aspx

0 new messages