#1 2016-10-16 02:35:22

profh
Member
Registered: 2010-07-02
Posts: 161

are there any table limitations?

i have a TSQLRecord defined as follow:

  Ttjxx = class(TSQLRecord)
  private
    fpid:integer;
    fKSH:RawUTF8;
    fTJXH: RawUTF8;
    fJWBSBZ:RawUTF8;
    fJWBS: RawUTF8;
    fYK_LYSLY:currency;
    fYK_LYSLZ: currency;
    fYK_JZSLY:currency;
    fYK_JZSLZ: currency;
    fYK_JZDSY:currency;
    fYK_JZDSZ: currency;
    fYK_SJJC:RawUTF8;
    fYK_SJJCT: RawUTF8;
    fYK_SJDS1:RawUTF8;
    fYK_SJDS2: RawUTF8;
    fYK_SJDS3:RawUTF8;
    fYK_SJDS4: RawUTF8;
    fYK_SJDS5:RawUTF8;
    fYK_YSYJ: RawUTF8;
    fYK_YB: RawUTF8;
    fNK_XYSSY: currency;
    fNK_XYSZY:currency;
    fNK_FYQK: RawUTF8;
    fNK_XZJXG:RawUTF8;
    fNK_HXXT: RawUTF8;
    fNK_SJXT: RawUTF8;
    fNK_G: currency;
    fNK_GXZ: RawUTF8;
    fNK_P: currency;
    fNK_PXZ:RawUTF8;
    fNK_YSYJ: RawUTF8;
    fNK_QT: RawUTF8;
    fWK_SG: currency;
    fWK_TZ: currency;
    fWK_PF: RawUTF8;
    fWK_MB:RawUTF8;
    fWK_JB: RawUTF8;
    fWK_JZ: RawUTF8;
    fWK_SZ: RawUTF8;
    fWK_GJ:RawUTF8;
    fWK_YSYJ: RawUTF8;
    fWK_QT: RawUTF8;
    fEB_ZETL: currency;
    fEB_YETL: currency;
    fEB_XJ: RawUTF8;
    fEB_YSYJ:RawUTF8;
    fEB_EBYH: RawUTF8;
    fKQ_CE: RawUTF8;
    fKQ_SFKC: RawUTF8;
    fKQ_YC:RawUTF8;
    fKQ_YSYJ: RawUTF8;
    fKQ_QT: RawUTF8;
    fXT: RawUTF8;
    fXT_YSYJ:RawUTF8;
    fXT_QT: RawUTF8;
    fGG_ZAM: RawUTF8;
    fGG_YGKY: RawUTF8;
    fGG_YSYJ:RawUTF8;
    fGG_QT: RawUTF8;
    fZYSXDM1: RawUTF8;
    fZYSXDM2: RawUTF8;
    fZYSXDM3:RawUTF8;
    fZYSXDM4: RawUTF8;
    fZYSXDM5: RawUTF8;
    fZYSXDM6: RawUTF8;
    fTJJLDM:RawUTF8;
    fBZ: RawUTF8;
  published
    property pid: integer read fpid write fpid;
    property KSH: RawUTF8 read fKSH write fKSH;
    property TJXH: RawUTF8 read fTJXH write fTJXH;
    property JWBSBZ: RawUTF8 read fJWBSBZ write fJWBSBZ;
    property JWBS: RawUTF8 read fJWBS write fJWBS;
    property YK_LYSLY: currency read fYK_LYSLY write fYK_LYSLY;
    property YK_LYSLZ: currency read fYK_LYSLZ write fYK_LYSLZ;
    property YK_JZSLY: currency read fYK_JZSLY write fYK_JZSLY;
    property YK_JZSLZ: currency read fYK_JZSLZ write fYK_JZSLZ;
    property YK_JZDSY: currency read fYK_JZDSY write fYK_JZDSY;
    property YK_JZDSZ: currency read fYK_JZDSZ write fYK_JZDSZ;
    property YK_SJJC: RawUTF8 read fYK_SJJC write fYK_SJJC;
    property YK_SJJCT: RawUTF8 read fYK_SJJCT write fYK_SJJCT;
    property YK_SJDS1: RawUTF8 read fYK_SJDS1 write fYK_SJDS1;
    property YK_SJDS2: RawUTF8 read fYK_SJDS2 write fYK_SJDS2;
    property YK_SJDS3: RawUTF8 read fYK_SJDS3 write fYK_SJDS3;
    property YK_SJDS4: RawUTF8 read fYK_SJDS4 write fYK_SJDS4;
    property YK_SJDS5: RawUTF8 read fYK_SJDS5 write fYK_SJDS5;
    property YK_YSYJ: RawUTF8 read fYK_YSYJ write fYK_YSYJ;
    property YK_YB: RawUTF8 read fYK_YB write fYK_YB;
    property NK_XYSSY: currency read fNK_XYSSY write fNK_XYSSY;
    property NK_XYSZY: currency read fNK_XYSZY write fNK_XYSZY;
    property NK_FYQK: RawUTF8 read fNK_FYQK write fNK_FYQK;
    property NK_XZJXG: RawUTF8 read fNK_XZJXG write fNK_XZJXG;
    property NK_HXXT: RawUTF8 read fNK_HXXT write fNK_HXXT;
    property NK_SJXT: RawUTF8 read fNK_SJXT write fNK_SJXT;
    property NK_G: currency read fNK_G write fNK_G;
    property NK_GXZ: RawUTF8 read fNK_GXZ write fNK_GXZ;
    property NK_P: currency read fNK_P write fNK_P;
    property NK_PXZ: RawUTF8 read fNK_PXZ write fNK_PXZ;
    property NK_YSYJ: RawUTF8 read fNK_YSYJ write fNK_YSYJ;
    property NK_QT: RawUTF8 read fNK_QT write fNK_QT;
    property WK_SG: currency read fWK_SG write fWK_SG;
    property WK_TZ: currency read fWK_TZ write fWK_TZ;
    property WK_PF: RawUTF8 read fWK_PF write fWK_PF;
    property WK_MB: RawUTF8 read fWK_MB write fWK_MB;
    property WK_JB: RawUTF8 read fWK_JB write fWK_JB;
    property WK_JZ: RawUTF8 read fWK_JZ write fWK_JZ;
    property WK_SZ: RawUTF8 read fWK_SZ write fWK_SZ;
    property WK_GJ: RawUTF8 read fWK_GJ write fWK_GJ;
    property WK_YSYJ: RawUTF8 read fWK_YSYJ write fWK_YSYJ;
    property WK_QT: RawUTF8 read fWK_QT write fWK_QT;
    property EB_ZETL: currency read fEB_ZETL write fEB_ZETL;
    property EB_YETL: currency read fEB_YETL write fEB_YETL;
    property EB_XJ: RawUTF8 read fEB_XJ write fEB_XJ;
    property EB_YSYJ: RawUTF8 read fEB_YSYJ write fEB_YSYJ;
    property EB_EBYH: RawUTF8 read fEB_EBYH write fEB_EBYH;
    property KQ_CE: RawUTF8 read fKQ_CE write fKQ_CE;
    property KQ_SFKC: RawUTF8 read fKQ_SFKC write fKQ_SFKC;
    property KQ_YC: RawUTF8 read fKQ_YC write fKQ_YC;
    property KQ_YSYJ: RawUTF8 read fKQ_YSYJ write fKQ_YSYJ;
    property KQ_QT: RawUTF8 read fKQ_QT write fKQ_QT;
    property XT: RawUTF8 read fXT write fXT;
    property XT_YSYJ: RawUTF8 read fXT_YSYJ write fXT_YSYJ;
    property XT_QT: RawUTF8 read fXT_QT write fXT_QT;
    property GG_ZAM: RawUTF8 read fGG_ZAM write fGG_ZAM;
    property GG_YGKY: RawUTF8 read fGG_YGKY write fGG_YGKY;
    property GG_YSYJ: RawUTF8 read fGG_YSYJ write fGG_YSYJ;
    property GG_QT: RawUTF8 read fGG_QT write fGG_QT;
    property ZYSXDM1: RawUTF8 read fZYSXDM1 write fZYSXDM1;
    property ZYSXDM2: RawUTF8 read fZYSXDM2 write fZYSXDM2;
    property ZYSXDM3: RawUTF8 read fZYSXDM3 write fZYSXDM3;
    property ZYSXDM4: RawUTF8 read fZYSXDM4 write fZYSXDM4;
    property ZYSXDM5: RawUTF8 read fZYSXDM5 write fZYSXDM5;
    property ZYSXDM6: RawUTF8 read fZYSXDM6 write fZYSXDM6;
    property TJJLDM: RawUTF8 read fTJJLDM write fTJJLDM;
    property BZ: RawUTF8 read fBZ write fBZ;
  end;

  when i create TSQLModel as follow, it failed with message "Access violation ad address 007CC7F4 in module 'project.exe', Read of address 00000004".
 

 myModel := TSQLModel.Create([Ttjxx],'');

  but many simple TSQLRecord s work fine.

  thanks.

Offline

#2 2016-10-16 02:39:24

profh
Member
Registered: 2010-07-02
Posts: 161

Re: are there any table limitations?

it stoped at TSQLModelRecordProperties.Create of mORMot.pas.

 

  constructor TSQLModelRecordProperties.Create(aModel: TSQLModel;
  aTable: TSQLRecordClass; aKind: TSQLRecordVirtualKind);
  var f: integer;
  ...
  fProps := aTable.RecordProps;          <------------------stoped here.
  ...
  

Offline

#3 2016-10-16 07:42:50

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,661
Website

Re: are there any table limitations?

Try to change the MAX_SQLFIELDS in SynCommons.pas.
By default, it is 64.

Offline

#4 2016-10-16 08:45:45

profh
Member
Registered: 2010-07-02
Posts: 161

Re: are there any table limitations?

thanks, and it works now.

Offline

Board footer

Powered by FluxBB