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

.



Relevant Pages

  • Re: Three Kinds of Logical Trees
    ... that includes all code that uses the dbms api would have all such units ... a variable of type int, with an int value and invoke a method ... ... >> database would have all the data and functions it needs to address ... I have no plans to design a language, but I'm happy to learn anyway ...
    (comp.databases.theory)
  • Re: The Zen nature of a Delphi database application
    ... results directly to UI controls, then write data from the controls to ... then write data back from the modified objects to the DB for storage? ... I load the whole contents of the database into my business objects, ... I have dreamt of the perfect OO database application framework ...
    (comp.lang.pascal.delphi.misc)
  • Re: Another idea from pick goes mainstream...
    ... A relational database has nothing to do ... SQL is one of the ... is now considered THE language for any dbms implementing the relational ... Then, XML came out. ...
    (comp.databases.pick)
  • Re: If you were developing a database in Forth...
    ... database that worked well, and then Dennis Ruffer provided source code ... to do the same thing in some other language and it failed it was ... It doesn't matter if the project was a stunning success or a ... that failure was the language we invented. ...
    (comp.lang.forth)
  • Re: selecting a language
    ... > languages to write our application in, as Progress is becoming ... Progress is a 4GL language so it is very rapid development. ... database access from GUI code. ... Java has a lot of built in support for it. ...
    (comp.lang.java.programmer)