Page 1 of 1

Does any one know the max fieldcount in a single post operation that Oracle support

Posted: Wed 11 Oct 2006 09:07
by odacuil
Does any one know the max fieldcount in a single post operation that Oracle support?

I encounter a problem that I am not sure if it is due to ODAC.
When a table has more than 500 fields, only the first several hundrends of fields can be posted if I excute dataset.post.

The program is very simple.
A oratable connects to a table with about 300 fields.
A datasource connects to the oratable.
A crdbgrid connects to the datasource.
Only the first 100 fields can be modified. Althought I can edit the data in last 100 fields, the data remain unmodified when I refresh.

Posted: Wed 11 Oct 2006 12:24
by Challenger
We couldn't reproduce this error. Please try to enable Debug mode and check that edited fields are used in update SQL statement.

Posted: Tue 17 Oct 2006 13:46
by odacuil
challenger wrote:We couldn't reproduce this error. Please try to enable Debug mode and check that edited fields are used in update SQL statement.
How to enable Debug mode and check that edited fields are used in update sql statement? Thanks

Posted: Tue 17 Oct 2006 14:11
by Challenger
You should set Debug property of TOraTable to True and explicitly include to your project unit OdacVcl.

Posted: Tue 17 Oct 2006 15:46
by odacuil
where can I test or execute the displayed code

INSERT INTO xmxx
(XMBH, JSXZ, JSGM1, JSGM2, KYSC, KYPF, ZHAOBIAO, CSSC, ZSBZB, ZSJGSPF, SBKGJH, GCKG, TJSG, SBAZ, XTTS, TCSD, XMZRDW, JSGM5, DYDJ, LXSJ, JHDW, XMZGDW, SX1, SX2, SX3, AQWM, DAYJ, JGJS)
VALUES
(:1, :4, :5, :6, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17, :18, :19, :20, :25, :39, :40, :45, :46, :47, :48, :49, :56, :59, :61)

:1(VARCHAR[12],IN)='120070220005'
:4(VARCHAR[4],IN)='cvb'
:5(FLOAT,IN)=1
:6(FLOAT,IN)=20
:8(DATE,IN)='2006-10-17'
:9(DATE,IN)='2006-10-17'
:10(DATE,IN)='2006-10-17'
:11(DATE,IN)='2006-10-17'
:12(DATE,IN)='2006-10-17'
:13(DATE,IN)='2006-10-17'
:14(DATE,IN)='2006-10-17'
:15(DATE,IN)='2006-10-17'
:16(DATE,IN)='2006-10-17'
:17(DATE,IN)='2006-10-17'
:18(DATE,IN)='2006-10-17'
:19(DATE,IN)='2006-10-17'
:20(VARCHAR[1],IN)='1'
:25(FLOAT,IN)=18
:39(VARCHAR[7],IN)='220'
:40(DATE,IN)='2007-10-17'
:45(VARCHAR[1],IN)='1'
:46(VARCHAR[6],IN)=''
:47(VARCHAR[2],IN)=''
:48(VARCHAR[2],IN)='-1'
:49(VARCHAR[4],IN)='2007'
:56(DATE,IN)='2006-10-17'
:59(DATE,IN)='2006-10-17'
:61(DATE,IN)='2006-10-17'

Posted: Fri 20 Oct 2006 06:46
by Challenger
You can fill SQL property of TOraSQL, TOraQuery or TSmartQuery with this INSERT SQL statement. Fill Params with the values that are mentioned below. And call Execute method.
But in the previous post I asked you to change(or fill) all fields of your table and check that all these fields are included into INSERT SQL statement displayed in the Debug window.