Re: Which database support?



The recursive nature is going to be a b1tch - But it shouldent take you more
than an hour to write a suitable parser for it, then all you really need to
do is forget about the object method - open your database at startup and
then just start firing as many INSERT INTO statements into it as possible.

Using a purist SQL approach for data input you will be able to chose which
fields you want to play with on each insert, based on your data, and you can
retrieve fields as and when you wish from a record. Please excuse the sucky
class included, but it worked for me - just has a few app specifics in it
though and only works with JET based DBs.

I presume if what you are trying to do (0_0 @ NDA for simple project) then
it should work fine.

--
- Mark Randall
http://zetech.swehli.com

"Joseph M. Newcomer" <newcomer@xxxxxxxxxxxx> wrote in message
news:p0nuc1t7v3dleo8c3ahafr7hqmk1n0oasq@xxxxxxxxxx
> Actually, I finally found an article. However, it doesn't seem to give
> anything useful.
> For example, it presumes that the user is apparently interacting with the
> database through
> something like an MSGrid control. The problem is that I know part of the
> application
> domain involved (I'm involved in a different part of it) and at no time
> will any data ever
> be visible on the screen. Data will come in from a variety of sources
> (think of them as
> streams; I'm generating one of them. Think of the language as a legacy
> language with some
> XML-like properties). For example,
>
> <data:record type="A" <data:pairs <data:xy x="123" y="456"/> <data:xy
> x="789" y="1011"/>
> ... /> />
>
> (Yes, I know that isn't pure XML syntax, but I didn't invent the language;
> it is legacy
> and I'm fudging a lot to avoid some NDA issues). This data will be entered
> into a
> database, and pretty much all that will appear on the interface is a
> progress bar. After
> the data is read in, another app is going to read the data and analyze it,
> and build up
> some new relations. Finally, the data will be plotted in a
> multidimensional graph. At no
> time, ever, will there be a direct display of a record or recordset as a
> set of value
> controls on a screen. No edit boxes, no MSGrid. Just data streams to the
> DB, analysis
> based on selection, sorting, and a few similar operations, then plotting
> using a private
> library. So all of the discussions I've found about 'data-bound controls'
> is pretty
> useless. Also, connection will be to a variety of databases, so there will
> be no single
> name to be used (apparently the name somehow gets bound at design time,
> and information
> about the fields. For their needs, this is all-but-useless. The names of
> the fields are
> determined by one application and the other application will have a
> database associated
> which has multiway relationships, intersection tables, etc. all of which
> will be filled in
> based on the incoming data stream).
> joe


begin 666 EvoDB.cpp
M(VEN8VQU9&4@(G-T9&%F>"YH(@T*(VEN8VQU9&4@(F%P:5]S=&0N:"(-"@T*
M+R\@+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2T-"B\O(%-13"!$96)U9R!L:6YE("AP<FEN=',@=&\@=&5X="!L;V<I#0HO
M+R M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+0T*=F]I9"!3879E4W%L3&]G*$Q00U135%(@:6XI#0I[#0H)0U-T<FEN9R!D
M:7([#0H)9&ER+D9O<FUA="@B)7-<7&1A=&%<7'!R;V9I;&5S7%PE<UQ<<W%L
M7VQO9RYL;V<B+" @#0H)"0D)"0E'971!<'!L:6-A=&EO;E!A=&@H*2P-"@D)
M"0D)"4=E=%!R;V9I;&5.86UE*"DI.PT*#0H)1DE,12H@9G!T<B ](&9O<&5N
M*&1I<BP@(F$K(BD[#0H):68@*&9P='(I#0H)>PT*"0EF<')I;G1F*&9P='(L
M("(E<UQN(BP@:6XI.PT*"0EF8VQO<V4H9G!T<BD[#0H)?0T*?0T*#0H-"B\J
M(&]P96YS('5P('1H92!D871A8F%S92!A;F0@97AE8W5T97,@=&AE('%U97)Y
M("HO#0IL;VYG($-%=F]$871A8F%S93HZ;W!E;E]D8BAC:&%R*B!P871H*0T*
M>PT*"2\J('9A<FEA8FQE<R!F;W(@=&AE(&-O9&4@*B\-"@EC:&%R(&-0871H
M6U]-05A?4$%42%T@/2![(# @?3L-"@EB;V]L(&,@/2!F86QS93L-"@T*"2\J
M(&ES(&ET(&1E9F%U;'0@*B\-"@EI9B H(7-T<F-M<"AP871H+" B7V5V;R(I
M*0T*"0ES=')C<'DH8U!A=&@L('-T9&%P:3HZ1V5T1&%T86)A<V50871H*"DI
M.PT*"65L<V4-"@D)<W1R8W!Y*&-0871H+"!P871H*3L-"@T*"69O<B H.SLI
M('L-"@D)+RH@=')Y('1O(&]P96X@=&AE(&1A=&%B87-E("HO#0H)"71R>2![
M#0H)"0EM7V1A=&%B87-E+D]P96XH8U!A=&@I.PT*"0D)8G)E86L[#0H)"7T-
M"@D)8V%T8V@@*$-$86]%>&-E<'1I;VX@*F4I#0H)"7L-"@D)"6U?9&%T86)A
M<V4N0VQO<V4H*3L-"@D)"7)T7V1I86<M/D1O179E;G1S*"D[#0H)"7T-"@E]
M#0H)<F5T=7)N(# [#0I]#0H-"@DO*B!O<&5N<R!U<"!T:&4@9&%T86)A<V4@
M86YD(&5X96-U=&5S('1H92!Q=65R>2 J+PT*;&]N9R!O<&5N7V1B*&-H87(J
M('!A=&@I.PT*#0IL;VYG( T*0T5V;T1A=&%B87-E.CIE>&5C=71E*&-O;G-T
M(&-H87(J('%U97)Y4U%,*0T*>PT*"5-A=F53<6Q,;V<H<75E<GE344PI.PT*
M#0H);5]D871A8F%S92Y%>&5C=71E*'%U97)Y4U%,*3L-"@ER971U<FX@,#L-
M"GT-"@T*;&]N9R -"D-%=F]$871A8F%S93HZ1V5T261E;G1I='DH*0T*>PT*
M"2\J(&-H96-K('1H92!Q=65R>2 J+PT*"6EF("AM7V1A=&%B87-E+DES3W!E
M;B@I(#T](# I#0H)"7)E='5R;B P.PT*#0H):68@*&U?<%)E8V]R9',M/DES
M3W!E;B@I*0T*"0EM7W!296-O<F1S+3Y#;&]S92@xxxx*#0H)+RH@97AE8W5T
M92!T:&4@<75E<GD@*B\-"@ET<GD@>PT*"0EM7W!296-O<F1S+3Y/<&5N*$%&
M6%]$04]?55-%7T1%1D%53%1?5%E012P@(E-%3$5#5"! 0$E$14Y42519(&%S
M(&TB+" P*3L-"@D);&]N9R!R8R ]('1H:7,M/D=E=$9I96QD26YT*")M(BD[
M#0H)"6U?<%)E8V]R9',M/D-L;W-E*"D[#0H)"7)E='5R;B!R8SL-"@E]#0H)
M8V%T8V@@*"XN+BD-"@E[#0H)"7)E='5R;B P.PT*"7T-"GT-"@T*;&]N9R -
M"D-%=F]$871A8F%S93HZ<75E<GDH8V]N<W0@8VAA<BH@<75E<GE344PI#0I[
M#0H)+RH@8VAE8VL@=&AE('%U97)Y("HO#0H):68@*&U?9&%T86)A<V4N27-/
M<&5N*"D@/3T@,"D-"@D)<F5T=7)N("TQ.PT*"0T*"2\J(&-L;W-E(')S("HO
M#0H):68@*&U?<%)E8V]R9',M/DES3W!E;B@I*0T*"0EM7W!296-O<F1S+3Y#
M;&]S92@xxxx*#0H)+RH@97AE8W5T92!T:&4@<75E<GD@*B\-"@ET<GD@>PT*
M"0EM7W!296-O<F1S+3Y/<&5N*$%&6%]$04]?55-%7T1%1D%53%1?5%E012P@
M<75E<GE344PL(# I.PT*"7T-"@EC871C:" H0T1A;T5X8V5P=&EO;B J92D-
M"@E[#0H)"4UE<W-A9V5";W@H,"P@92T^;5]P17)R;W));F9O+3YM7W-T<D1E
M<V-R:7!T:6]N+" B17)R;W(B+" P*3L-"@D)<F5T=7)N("TQ.PT*"7T-"@EC
M871C:" H+BXN*0T*"7L-"@D)365S<V%G94)O>"@P+" B1V5N97)A;"!%>&-E
M<'1I;VXB+" B17AC97!T:6]N(BP@,"D[#0H)"7)E='5R;B M,3L-"@E]#0H)
M<F5T=7)N(# [#0I]#0H-"D-3=')I;F<@#0I#179O1&%T86)A<V4Z.D=E=$9I
M96QD4W1R:6YG*&-H87(J('!.86UE*0T*>PT*"2\J(&=E="!T:&4@=F%R:6%N
M="!V86QU92 J+PT*"4-/;&5687)I86YT($],179N=#L-"@EM7W!296-O<F1S
M+3Y'971&:65L9%9A;'5E*"A,4$-44U12*7!.86UE+"!/3$5V;G0I.PT*#0H)
M+RH@=')Y('1O(&9I;F0@=&AE('-W:71C:" J+PT*"6EF("A/3$5V;G0N=G0@
M/3T@5E1?0E-44BD-"@E[#0H)"7)E='5R;B!67T)35%)4*"9/3$5V;G0I.PT*
M"7T-"@ER971U<FX@(B([#0I]#0H-"FQO;F<@#0I#179O1&%T86)A<V4Z.D=E
M=$9I96QD26YT*&-H87(J('!.86UE*0T*>PT*"2\J(&=E="!T:&4@=F%R:6%N
M="!V86QU92 J+PT*"4-/;&5687)I86YT('9A<CL-"@EM7W!296-O<F1S+3Y'
M971&:65L9%9A;'5E*"A,4$-44U12*7!.86UE+"!V87(I.PT*#0H)+RH@8V]N
M=F5R=" J+PT*"7-W:71C:" H=F%R+G9T*0T*"7L)"0T*"6-A<V4@5E1?23(Z
M#0H)"7)E='5R;B!67TDR*"9V87(I.PT*"6-A<V4@5E1?230Z#0H)"7)E='5R
M;B!67TDT*"9V87(I.PT*"61E9F%U;'0Z#0H)"7)E='5R;B P.PT*"7T-"GT-
M"@T*9&]U8FQE( T*0T5V;T1A=&%B87-E.CI'971&:65L9$1O=6)L92AC:&%R
M*B!P3F%M92D-"GL-"@DO*B!G970@=&AE('9A<FEA;G0@=F%L=64@*B\-"@E#
M3VQE5F%R:6%N="!V87([#0H);5]P4F5C;W)D<RT^1V5T1FEE;&1686QU92@H
M3%!#5%-44BEP3F%M92P@=F%R*3L-"@T*"2\J(&-O;G9E<G0@*B\-"@ES=VET
M8V@@*'9A<BYV="D-"@E["0D-"@EC87-E(%947U(T.@T*"0ER971U<FX@*&1O
M=6)L92E67U(T*"9V87(I.PT*"6-A<V4@5E1?4C@Z#0H)"7)E='5R;B!67U(X
M*"9V87(I.PT*"61E9F%U;'0Z#0H)"7)E='5R;B P+C [#0H)?0T*?0T*#0I#
M3VQE1&%T951I;64@#0I#179O1&%T86)A<V4Z.D=E=$9I96QD1&%T92AC:&%R
M*B!P3F%M92D-"GL-"@DO*B!G970@=&AE('9A<FEA;G0@=F%L=64@*B\-"@E#
M3VQE5F%R:6%N="!V87([#0H);5]P4F5C;W)D<RT^1V5T1FEE;&1686QU92@H
M3%!#5%-44BEP3F%M92P@=F%R*3L-"@T*"2\J(&-O;G9E<G0@*B\-"@E#3VQE
M1&%T951I;64@9'0@/2!V87([#0H)<F5T=7)N(&1T.PT*?0T*#0IB;V]L( T*
M0T5V;T1A=&%B87-E.CI)<T5/1B@I#0I[#0H)<F5T=7)N(&U?<%)E8V]R9',M
M/DES14]&*"D@/3T@5%)512 _('1R=64@.B!F86QS93L-"GT-"@T*8F]O;" -
M"D-%=F]$871A8F%S93HZ27-$0D]P96XH*0T*>PT*"7)E='5R;B!M7V1A=&%B
M87-E+DES3W!E;B@I(#T](%12544@/R!T<G5E(#H@9F%L<V4[#0I]#0H-"G9O
M:60@#0I#179O1&%T86)A<V4Z.DUO=F5.97AT*"D-"GL-"@EM7W!296-O<F1S
M+3Y-;W9E3F5X="@I.PT*?0T*#0I#4W1R:6YG( T*0T5V;T1A=&%B87-E.CI!
J9&13;&%S:&5S*&-H87(J(&1A=&$I#0I[#0H)<F5T=7)N(&1A=&$[#0I]
`
end

begin 666 EvoDB.h
M(W!R86=M82!O;F-E#0H-"B-I;F-L=61E(#QA9GAD86\N:#X-"@T*(VEF;F1E
M9B!?7T563T1!5$%"05-%#0HC9&5F:6YE(%]?159/1$%404)!4T4-"@T*(W!R
M86=M82!W87)N:6YG*&1I<V%B;&4@.B T.3DU*0T*#0IC;&%S<R!#179O1&%T
M86)A<V4@( T*>PT*<'5B;&EC.@T*"4-%=F]$871A8F%S92@I#0H)>PT*"0EM
M7W!296-O<F1S(#T@;F5W($-$86]296-O<F1S970H)FU?9&%T86)A<V4I.PT*
M"7T-"@T*"2\J('1I;65S879E<B J+PT*"4-%=F]$871A8F%S92AC:&%R*B!P
M3F%M92D-"@E[#0H)"6]P96Y?9&(H<$YA;64I.PT*"0EM7W!296-O<F1S(#T@
M;F5W($-$86]296-O<F1S970H)FU?9&%T86)A<V4I.PT*"7T-"@T*"7Y#179O
M1&%T86)A<V4H*0T*"7L-"@D):68@*&U?<%)E8V]R9',M/DES3W!E;B@I*0T*
M"0D);5]P4F5C;W)D<RT^0VQO<V4H*3L-"@T*"0EI9B H;5]D871A8F%S92Y)
M<T]P96XH*2D-"@D)"6U?9&%T86)A<V4N0VQO<V4H*3L-"@T*"0ED96QE=&4@
M;5]P4F5C;W)D<SL-"@E]#0H-"@E#1&%O1&%T86)A<V4);5]D871A8F%S93L-
M"@E#1&%O4F5C;W)D<V5T*@EM7W!296-O<F1S.PT*#0H)+RH@;W!E;G,@=7 @
M=&AE(&1A=&%B87-E(&%N9"!E>&5C=71E<R!T:&4@<75E<GD@*B\-"@EL;VYG
M"0EO<&5N7V1B*&-H87(J('!A=&@I.PT*"6QO;F<)"65X96-U=&4H8V]N<W0@
M8VAA<BH@<75E<GE344PI.PT*"6QO;F<)"4=E=$ED96YT:71Y*"D[#0H);&]N
M9PD)<75E<GDH8V]N<W0@8VAA<BH@<75E<GE344PI.PT*"4-3=')I;F<)"4=E
M=$9I96QD4W1R:6YG*&-H87(J('!.86UE*3L-"@EL;VYG"0E'971&:65L9$EN
M="AC:&%R*B!P3F%M92D[#0H)9&]U8FQE"0E'971&:65L9$1O=6)L92AC:&%R
M*B!P3F%M92D[#0H)0T]L941A=&54:6UE($=E=$9I96QD1&%T92AC:&%R*B!P
M3F%M92D[#0H)8F]O; D)27-%3T8H*3L-"@EB;V]L"0E)<T1"3W!E;B@xxxx*
M"79O:60)"4UO=F5.97AT*"D[#0H)<W1A=&EC($-3=')I;F<)061D4VQA<VAE
<<RAC:&%R*B!D871A*3L-"GT[#0H-"B-E;F1I9@``
`
end

.