home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 October / Chip_2001-10_cd1.bin / zkuste / delphi / kompon / d45 / ARDOCI.ZIP / dOCI_README.rus < prev    next >
Text File  |  2001-07-13  |  19KB  |  436 lines

  1.  
  2. dOCI 1.10 stable 
  3. =================
  4.  
  5.  ========================== ┬═╚╠└═╚┼! =============================
  6.  ╙ Ωε∞∩εφσφ≥ ±∞σφΦδ±  αΓ≥ε≡. ╥σ∩σ≡ⁿ Φ∞  Γδ ■±ⁿ   - ╨ε∞αφ≈σφΩε └φΣ≡σΘ.
  7.  ╧≡σµφΦΘ αΓ≥ε≡ Alex Buloichik Ωε∞∩εφσφ≥α∞Φ dOCI ßεδⁿ°σ φσ ταφΦ∞ασ≥± 
  8.  Φ Γ±σ ∩≡αΓα Φ ∩εδφε∞ε≈Φ  ∩σ≡σΣαδ ∞φσ.
  9.  ╥αΩ ≈≥ε Γ±σ Γε∩≡ε±√ Φ ∩≡σΣδεµσφΦ  ∩≡ε°≤ ∩Φ±α≥ⁿ ∩≡ ∞ΦΩε∞ ∞φσ. 
  10.  ===================================================================
  11.  
  12.  ========================== ┬═╚╠└═╚┼! =============================
  13.  ┼±δΦ Γ√ Φ±∩εδⁿτ≤σ≥σ ±≥α≡≤■ (0.9) Γσ≡±Φ■ Ωε∞∩εφσφ≥ ≥ε ∩≡Φ ∩σ≡σ⌡εΣσ 
  14.  φα φεΓ≤■ ∞επ≤≥ ΓετφΦΩφ≤≥ⁿ ∩≡εßδσ∞√ ±Γ ταφ√σ ± ≥σ∞ ≈≥ε Γσ≡±ΦΦ 1.0 Φ
  15.  Γ√°σ φα∞φεπε ßεδσσ ±εΓ∞σ±≥Φ∞√ ±ε ±≥αφΣα≡≥φ√∞Φ Σσδⁿ⌠εΓ±ΩΦ∞Φ Ωε∞∩εφσφ≥α∞Φ.
  16.  ┬ ≈α±≥φε±≥Φ ≡αφⁿ°σ Σδ  ταΓσΣσφΦ  ∩εδσΘ τα∩≡ε±α Φ±∩εδⁿτεΓαδε±ⁿ 
  17.  OraSQL.Query.AddField(..) ≥σ∩σ≡ⁿ ΣεßαΓδσφΦσ ∩εδσΘ ΦΣσ≥ ±≥αφΣα≡≥φ√∞ εß≡ατε∞
  18.  OraSQL.FieldDefs.Add(..)
  19.  ===================================================================
  20.  
  21. ╩ε∞∩εφσφ≥√ ∩≡ε≥σ±≥Φ≡εΓαφ√ Φ φε≡∞αδⁿφε ≡αßε≥α■≥ ∩εΣ Delphi 4,5. ┬∩εδφσ Γσ≡ε ≥φε 
  22. ≈≥ε ßστ ΩαΩΦ⌡-φΦß≤Σⁿ ∩σ≡σΣσδεΩ Ωε∞∩εφσφ≥√ ß≤Σ≤≥ ≡αßε≥α≥ⁿ Φ ∩εΣ Delphi 3 
  23. (ΩεπΣα ≥ε εφΦ ≡αßε≥αδΦ Φ ∩εΣ Delphi 3 φε ± ≥σ⌡ ∩ε≡ Γφσ±σφε ∞φεπε Φτ∞σφσφΦΘ 
  24. Ωε≥ε≡√σ φα Delphi 3 φσ ≥σ±≥Φ≡εΓαδΦ±ⁿ)
  25.  
  26. ╠εΘ e-mail lasersquard@yahoo.com,roma@axioma.da.ru
  27. ================================================================================
  28.  
  29.  
  30. ===============
  31. ╬╤╬┴┼══╬╤╥╚ !!!
  32. ===============
  33.  
  34. - ╨αßε≥α■≥ ∩εδφε±≥ⁿ■ ßστ BDE! ≥.σ ∩≡ΦδεµσφΦσ ≡ατ≡αßε≥αφεσ ± Φ±∩εδⁿτεΓαφΦσ∞
  35.   dOCI Ωε∞∩εφσφ≥ φσ ≥≡σß≤σ≥ ≤±≥αφεΓΩΦ BDE. ═σ≥≤ ∩≡εßδσ∞ ± Ωεφ⌠δΦΩ≥α∞Φ Γσ≡±ΦΘ
  36.   BDE. 
  37. - ┴εδⁿ°α  ∩≡εΦτΓεΣΦ≥σδⁿφε±≥ⁿ ≥.Ω. φσ≥≤ ∩ε∞σµ≤≥ε≈φ√⌡ ≤φΦΓσ≡±αδⁿφ√⌡ ∩≡ε±δεσΩ 
  38.   (ΩαΩ BDE) ∞σµΣ≤ ∩≡ΦδεµσφΦσ∞ Φ ßατεΘ.
  39. - ╨αßε≥α ± ±σ≡Γσ≡α∞Φ Oracle 7.* Φ 8.* ∩≡Φ Φ±∩εδⁿτεΓαφΦΦ ΩδΦσφ≥α ε≥ Γσ≡±ΦΦ 8.*
  40. - TOraSQL - ∞ε∙φ√Θ φα±δσΣφΦΩ TDataSet. ╠αΩ±Φ∞αδⁿφε ±εΓ∞σ±≥Φ∞ ±ε ±≥αφΣα≡≥φ√∞Φ
  41.   Ωε∞∩εφσφ≥α∞Φ (TQuery). ╨σαδΦτ≤σ≥ Γ±σ Γετ∞εµφε±≥Φ TDataSet Φ ΣεßαΓδ σ≥
  42.   ∞φεπε φεΓ√⌡.
  43. - ╧εδφα  ∩εΣΣσ≡µΩα ε≡αΩδεΓ±ΩΦ⌡ ∩εδσΘ BLOB Φ CLOB.
  44. - ┬ετ∞εµφε±≥ⁿ Γ√∩εδφ ≥ⁿ ⌡≡αφΦ∞√σ ∩≡ε÷σΣ≤≡√.
  45. - ┬ετ∞εµφε±≥ⁿ Γ√∩εδφ ≥ⁿ Ω≤±ΩΦ PL/SQL ΩεΣα δ■ßεΘ ΣδΦφ√ ∩≡ ∞ε Φτ ΩδΦσφ≥±Ωεπε ∩≡ΦδεµσφΦ .
  46.  
  47. - ═α±≥≡εΘΩα ΩεδΦ≈σ±≥Γα τα∩Φ±σΘ ∩εδ≤≈ασ∞√⌡ τα εΣφε εß≡α∙σφΦσ Ω ßατσ. (φα∞φεπε ∩εΓ√°ασ≥
  48.   ß√±≥≡εΣσΘ±≥ΓΦσ ∩≡Φ ≡αßε≥σ ± ßεδⁿ°Φ∞Φ ≥αßδΦ÷α∞Φ)
  49. - ╠ε∙φ√σ Φ ß√±≥≡√σ ≥αßδΦ÷√ Γ ∩α∞ ≥Φ. 
  50.    TMemoryDataSet  - TDataSet ±εΓ∞σ±≥Φ∞α  Ωε∞∩εφσφ≥α. ╠εµσ≥ ∩εΩατ√Γα≥ⁿ Σαφφ√σ Γ 
  51.                      DBGridσ. 
  52.    TAMemoryDataSet - ╥αßδΦ÷α Γ ∩α∞ ≥Φ φσ ±εΓ∞σ±≥Φ∞α  ± TDataSet.
  53.  
  54. - ╠ε∙φ√σ Ωε∞∩εφσφ≥√ Σδ  ±ετΣαφΦ  Φ ≡αßε≥√ ± ΣΦφα∞Φ≈σ±ΩΦ∞Φ ∞α±±ΦΓα∞Φ Σδ  Γ±σ⌡ ≥Φ∩εΓ Σαφφ√⌡.
  55.   (∩εΦ±Ω Σαφφ√⌡ ≡σαδΦτεΓαφ φα α±±σ∞ßδσ≡σ)
  56.  
  57.  
  58.  
  59.  
  60.  
  61. ╤╬─┼╨╞└═╚┼
  62. ----------
  63. ┬ΓσΣσφΦσ
  64. ╨α±∩≡ε±≥≡αφσφΦσ
  65. ╬ß∙σσ ε∩Φ±αφΦσ
  66. ╚φ±≥αδ ÷Φ 
  67. ╩αΩ ≡αßε≥α≥ⁿ ± Ωε∞∩εφσφ≥α∞Φ
  68.  ╬∩Φ±αφΦσ
  69.  ╧≡Φ∞σ≡√
  70. ╥σ±≥√ φα ∩≡εΦτΓεΣΦ≥σδⁿφε±≥ⁿ
  71. ChangeLog
  72.  
  73.  
  74.  
  75. ┬┬┼─┼═╚┼
  76. --------
  77.  
  78. ╩ε∞∩εφσφ≥√ ∩≡σΣφατφα≈σφ√ Σδ  Σε±≥≤∩α Ω ±σ≡Γσ≡≤ Oracle 8 Φτ Delphi 4,5.
  79. ╬φΦ Φ±∩εδⁿτ≤■≥ ±≥αφΣα≡≥φ≤■ ßΦßδΦε≥σΩ≤ OCI (Oracle Call Interface) Ωε≥ε≡α 
  80.  ≤±≥αφαΓδΦΓασ≥±  ∩≡Φ ≤±≥αφεΓσ Oracle Client for Windows 9x/NT/2000
  81.  
  82.  
  83. ╧εΣΣσ≡µΦΓα■≥±  ε≡αΩδεΓ±ΩΦσ ≥Φ∩√ BLOB Φ CLOB.
  84. ╤ Γσ≡±ΦΦ 1.0 BLOB√ ≡αßε≥α■≥ φε≡∞αδⁿφε Φ ≤ Ωε∞∩εφσφ≥ φα±δσΣφΦΩεΓ TDataSet.
  85.  (≤ φα±δσΣφΦΩεΓ TDataSet ∩εΩα ≥εδⁿΩε φα ≈≥σφΦσ)
  86.  
  87. ╨αßε≥α■≥ ≥εδⁿΩε ± ΩδΦσφ≥ε∞ Oracle8, φε ∞εµφε ≥αΩ ⌡εΣΦ≥ⁿ Φ Ω Oracle7, 
  88.  Φ±∩εδⁿτ≤  ΩδΦσφ≥εΓ Γε±ⁿ∞√⌡. ╫≥ε Ωα±ασ≥±  Delphi 4,5 - ∩ε≈≥Φ φΦ≈σπε ±∩σ÷Φ⌠Φ≈σ±Ωεπε
  89.  φσ≥, Ω≡ε∞σ ≥επε, ≈≥ε Φ±∩εδⁿτ≤σ≥±  ±≥αφΣα≡≥φ√Θ ≡σΣαΩ≥ε≡ TParam, Ωε≥ε≡√Θ ≡αφσσ 
  90.  φαΣε ß√δε ∩Φ±α≥ⁿ ±α∞ε∞≤. ╩≥ε ⌡ε≈σ≥ - ∞εµσ≥ τα≥ε≈Φ≥ⁿ ∩εΣ Delphi3 - ±Ωαµ≤ ßεδⁿ°εσ
  91.  ±∩α±Φßε Φ ≡ατδΦ≈Φ  ΓΩδ■≈≤ Γ ±ΓεΘ Φ±⌡εΣφΦΩ. ╥αΩ µσ σ±δΦ Ωε∞≤ φαΣε - ∩ε≡≥Φ≡≤Θ≥σ
  92.  ∩εΣ Oracle7 - ≥α∞ φΦ≈σπε ±δεµφεπε φσ≥, φε ∞φσ φσ φα ≈σ∞ ε≥δαµΦΓα≥ⁿ.
  93.  
  94.  
  95. ┬σ≡±Φ■ 1.0 φσ ßε■±ⁿ φατ√Γα≥ⁿ stable ≥.Ω. εφα ∩≡ε⌡εΣΦ≥ εßΩα≥Ω≤ φα ≡σαδⁿφε∞ ∩≡εσΩ≥σ
  96.  Γ ⌠Φ≡∞σ Γ Ωε≥ε≡εΘ   ±≈α± ≡αßε≥α■. C Γσ≡±ΦΦ 0.9 ß√δε Φ±∩≡αΓδσφε ∞φεπε ßαπεΓ Φ ±≈α± 
  97.  Ωε∞∩εφσφ≥√ ≡αßε≥α■≥ ΣεΓεδⁿφε ß√±≥≡ε Φ ±≥αßΦδⁿφε.
  98.  
  99. ▀ ∩ε±≥α≡α■±ⁿ ∩≡σδεµΦ≥ⁿ Γ±σ ≤±ΦδΦ  ∩ε ε≥δεΓ≤ ßαπεΓ, φε ßεδⁿ°≤■ ≡εδⁿ Φπ≡α■≥
  100.  Γα°Φ ε≥τ√Γ√ Φ ε∩Φ±αφΦσ τα∞σ≈σφφ√⌡ φσΣε±≥α≥ΩεΓ - φσ Γ±σ   ∞επ≤ ±α∞ε±≥ε ≥σδⁿφε
  101.  ε≥δεΓΦ≥ⁿ.
  102.  
  103.  ╠εΘ e-mail - lasersquard@yahoo.com, roma@axioma.da.ru ΦδΦ 2:450/93.30
  104.  ╩≥ε ⌡ε≈σ≥ ∩εδ≤≈α≥ⁿ ±ΓσµΦσ Γσ≡±ΦΦ Φ ∩α≥≈Φ - φα∩Φ°Φ≥σ ∞φσ ∩Φ±ⁿ∞ε.
  105.  
  106. ┬ φα±≥ε ∙σσ Γ≡σ∞  ∩εΣΣσ≡µΦΓα■≥±  Σαφφ√σ ±δσΣ≤■∙Φ⌡ ≥Φ∩εΓ :
  107.   String,
  108.   Boolean,
  109.   Float,
  110.   Date,
  111.   Time,
  112.   DateTime,
  113.   Integer,
  114.   SmallInt,
  115.   Word,
  116.   Currency,
  117.   BLOB,
  118.   CLOB;
  119. ╧εΣΣσ≡µΦΓα■≥±  Φ Γ ∩εδ ⌡, Φ Γ ∩α≡α∞σ≥≡α⌡. 
  120.  Float Φ Integer - Γ±σ ∩εφ ≥φε.
  121.  Boolean - ΩαΩ NUMBER(1) - 1 ßαΘ≥. ═≤δσΓ√σ τφα≈σφΦ  - False, φσ φ≤δσΓ√σ - True.
  122.  String - Γ ∩α∞ ≥Φ - ΩαΩ ±≥≡εΩα ±Φ∞ΓεδεΓ ⌠ΦΩ±Φ≡εΓαφεπε ≡ατ∞σ≡α ΩαΩ ∩εδσ. 
  123.  Date - ⌡≡αφΦ≥±  ΩαΩ TTimeStamp.Date(integer) - ΣφσΘ ± 1.01.0001
  124.  Time - ⌡≡αφΦ≥±  ΩαΩ TTimeStamp.Time(integer)
  125.  DateTime - ⌡≡αφΦ≥±  ΩαΩ TTimeStamp
  126.  
  127. ╧εΩα φσ≥≤ ±ached updates, ∩εδ  LargeInt.
  128. ┼±δΦ ±≡ε≈φε φ≤µφε cached updates ΦδΦ LargeInt ≥ε ∩Φ°Φ≥σ ∞φσ Φ εφΦ ß√±≥≡σσ ß≤Σ≤≥ 
  129.  πε≥εΓ√. 
  130.  
  131.  
  132. ╨└╤╧╨╬╤╥╨└═┼═╚┼
  133. ---------------
  134.  
  135. ╧≡Φφ÷Φ∩ ≡α±∩≡ε±≥≡αφσφΦ  - Freeware ± Φ±⌡εΣφΦΩα∞Φ.
  136. ┬√ ∞εµσ≥σ Φ±∩εδⁿτεΓα≥ⁿ Φ⌡ Γ ΩαΩΦ⌡ ≤πεΣφε ∩≡εσΩ≥α⌡ (Γ ≥ε∞ ≈Φ±δσ Φ Ωε∞∞σ≡≈σ±ΩΦ⌡).
  137. ┬√ ≥αΩ µσ ∞εµσ≥σ Σσδα≥ⁿ δ■ß√σ Φτ∞σφσφΦ  Γ Φ±⌡εΣφ√⌡ ΩεΣα⌡, φε εß Γ± ≈σ±ΩΦ⌡ Φτ∞σφσφΦ ⌡
  138. µσδα≥σδⁿφε ε∩εΓσ∙α≥ⁿ αΓ≥ε≡α (≥ε ßΦ°ⁿ ∞σφ ). ▀ Γφσ±≤ ┬α°Φ Φτ∞σφσφΦ  Γ ΩεΣ Φ Γ√δεµ≤ 
  139. εßφεΓδσφφ√σ Γσ≡±ΦΦ φα εß∙σσ εßετ≡σφΦσ.
  140.  
  141.  
  142.  
  143. ╬┴┘┼┼ ╬╧╚╤└═╚┼
  144. --------------
  145.  
  146.    TOraDB - ΩεφφσΩ≥ Ω ßατσ Φ ≤∩≡αΓδσφΦσ ≥≡αφταΩ÷Φ ∞Φ. ─δ  ⌡εµΣσφΦ  Ω ßατσ Γ±σ 
  147.      Ωε∞∩εφσφ≥√ Φ±∩εδⁿτ≤■≥ ²≥ε≥ Ωε∞∩εφσφ≥. ┬±σ Γ√τεΓ√ OCI ±ε±≡σΣε≥ε≈σφ√ Φ∞σφφε
  148.      Γ ²≥εΘ Ωε∞∩εφσφ≥σ.
  149.  
  150.    TAOraSQL - φσ∩ε±≡σΣ±≥Γσφφε Γ√∩εδφ σ≥ Γ√τεΓ√ OCI (Γ√∩εδφσφΦσ τα∩≡ε±εΓ Φ
  151.      Ω≤±ΩεΓ PL/SQL ΩεΣα). ▀Γδ σ≥±  ∩εδφε⌠≤φΩ÷Φεφαδⁿφ√∞ Ωε∞∩εφσφ≥ε∞, ∩≡Φ∞σφ σ≥±  
  152.      Σδ  ±δ≤≈ασΓ ΩεπΣα φσ φ≤µφα ±εΓ∞σ±≥Φ∞ε±≥ⁿ ± TDataSet, α Φ∞σφφε σ±δΦ φ≤µφε 
  153.      Γ√∩εδφΦ≥ⁿ ⌡≡αφΦ∞≤■ ∩≡ε÷σΣ≤≡≤ ΦδΦ Ω≤±εΩ PL/SQL ΩεΣα ΦδΦ τα∩≡ε± ≡στ≤δⁿ≥α≥√ 
  154.      Ωε≥ε≡επε φσ φ≤µφε ∩εΩατ√Γα≥ⁿ Γ TDBGridσ.
  155.      ╨αßε≥ασ≥ ß√±≥≡σσ TOraSQL ≥.Ω φσ Γ√∩εδφ σ≥ δΦ°φΦ⌡ ΣσΘ±≥ΓΦΘ ±Γ ταφ√⌡ ± 
  156.      ±εΓ∞σ±≥Φ∞ε±≥ⁿ■ ± TDataSet. 
  157.      ╧ετΓεδ σ≥ εß≡α∙α≥ⁿ±  Ω ≡στ≤δⁿ≥α≥α∞ τα∩≡ε±α ∩ε φε∞σ≡≤ ±≥≡εΩΦ. 
  158.      ╟α εΣφε εß≡α∙σφΦσ Ω ßατσ Γ√≥ πΦΓασ≥ ±≥εδⁿΩε τα∩Φ±σΘ ±ΩεδⁿΩε ≤Ωαταφε
  159.      Γ ±ΓεΘ±≥Γσ FetchCount. ╧≡Φ ≡αßε≥σ ± ßεδⁿ°Φ∞Φ ≥αßδΦ÷α∞Φ ≡σΩε∞σφΣ≤σ≥±  ≤ΓσδΦ≈ΦΓα≥ⁿ
  160.      τφα≈σφΦσ FetchCount. ╧ε ≤∞εδ≈αφΦ■ FetchCount=100 ≈≥ε ±εε≥Γσ≥±≥Γ≤σ≥ ±≡σΣφΦ∞ 
  161.      ≡ατ∞σ≡α∞ Σαφφ√⌡. 
  162.      ┼±δΦ ±Σσδα≥ⁿ σ∞≤ ∩≡ε±≥ε Open ≥ε τα∩≡ε± ε≥Ω≡εσ≥±  φε φΦΩαΩΦσ Σαφφ√σ φσ 
  163.      Γ√≥ φ≤≥±  Σδ  ²≥επε φαΣε Φ±∩εδⁿτεΓα≥ⁿ δΦßε ReadAll ∩ε±δσ Open δΦßε OpenAll.
  164.      ┬ ²≥Φ⌡ ±δ≤≈α ⌡ φα ΩδΦσφ≥α Γ√≥ φ≤≥±  Γ±σ ±≥≡εΩΦ τα∩≡ε±α. ┼±δΦ Γ±σ ±≥≡εΩΦ φσ 
  165.      φ≤µφ√ ≥ε ∞εµφε Φ±∩εδⁿτεΓα≥ⁿ ⌠-÷Φ■ ReadRecord(RecordNum) Ωε≥ε≡α  ß≤Σσ≥ ≥ φ≤≥ⁿ 
  166.      ∩ε FetchCount τα∩Φ±σΘ τα ≡ατ ∩εΩα φσ ß≤Σσ≥ Γ√≥ φ≤≥ε ßεδⁿ°σ ΦδΦ ±≥εδⁿΩε µσ 
  167.      ±≥≡εΩ ±ΩεδⁿΩε τα≥≡σßεΓαδΦ.
  168.     
  169.    TOraSQL - wrapper ΓεΩ≡≤π TAOraSQL Σδ  ±εΓ∞σ±≥Φ∞ε±≥Φ ± TDataSet. └φαδεπ TQuery,
  170.      TStoredProc. ╧ετΓεδ σ≥ ταΣα≥ⁿ τα∩≡ε± Ω ßατσ, ∩εδ  (∩≡επ≡α∞φε Φ Γ ΣΦταΘφσ≡σ) 
  171.      Γ εß∙σ∞ ≡αßε≥α ± TOraSQL ΦΣσ≥ ΩαΩ ±ε ±≥αφΣα≡≥φ√∞Φ Ωε∞∩εφσφ≥α∞Φ Delphi Σδ 
  172.      Σε±≥≤∩α Ω Σαφφ√∞. ╧ε ≤∞εδ≈αφΦ■ ∩≡Φ ε≥Ω≡√≥ΦΦ τα∩≡ε±α Γ√≈Φ≥√Γασ≥±  ±≥εδⁿΩε τα∩Φ±σΘ
  173.      ±ΩεδⁿΩε φαΣε Σδ  ∩εΩατα Γ π≡ΦΣσ. ╫≥ε ß√ ∩≡ε≈Φ≥α≥ⁿ ßεδⁿ°σ τα∩Φ±σΘ ∞εµφε 
  174.      Φ±∩εδⁿτεΓα≥ⁿ ⌠-÷ΦΦ OpenAll, ReadAll, VGoto.
  175.     
  176.    TAOraUpdateSQL - Ωε∞∩εφσφ≥α Σδ  ∩εΣ±εσΣΦφσφΦ  Ω TOraSQL Φ ταΣαφΦ  τα∩≡ε±εΓ φα
  177.      Φτ∞σφσφΦσ (INSERT,DELETE,UPDATE) Σαφφ√⌡ Γ ≥αßδΦ÷σ.  Γδ σ≥±  αφαδεπε∞ TUpdateSQL
  178.      Γ Delphi ≥εδⁿΩε φσ ±εΣσ≡µΦ≥ ≡σΣαΩ≥ε≡α ΩαΩ Γ TUpdateSQL ∩ε²≥ε∞≤ τα∩≡ε±√ 
  179.      Φτ∞σφσφΦ  Σαφφ√⌡ φαΣε ∩Φ±α≥ⁿ Γ≡≤≈φ≤■ Γ ±ΓεΘ±≥Γα DeleteSQL,InsertSQL,ModifySQL
  180.  
  181.  
  182. ┬±σ Ωδα±±√ φα⌡εΣ ≥±  Γ ±δσΣ≤■∙Φ⌡ ⌠αΘδα⌡:
  183.  
  184.     DynamicArrays.pas  - ∞εΦ Ωε∞∩εφσφ≥√ Σδ  ≡αßε≥√ ± ΣΦφα∞Φ≈σ±ΩΦ∞Φ ∞α±±ΦΓα∞Φ.
  185.                 Φ±∩εδⁿτ≤■≥±  ∞φεπΦ∞Φ Σ≡≤πΦ∞Φ Ωε∞∩εφσφ≥α∞Φ. ▌≥ε≥ ∞εΣ≤δⁿ ∞εµσ≥ 
  186.                 Φ±∩εδⁿτεΓα≥ⁿ±  ε≥Σσδⁿφε ε≥ dOCI Ωε∞∩εφσφ≥ ≥.Ω. ±εΣσ≡µΦ≥ ∞φεπε
  187.                 Ωδα±±εΓ Σδ  ≡αßε≥√ ± ∞α±±ΦΓα∞Φ.
  188.                          
  189.  
  190.     VirtualDataSet.pas - φσΩε≥ε≡εσ ≤±εΓσ≡°σφ±≥ΓεΓαφΦσ TDataSet Σδ  ≤Σεß±≥Γα.
  191.                 ε≥ φσπε φα±δσΣ≤■≥±  Γ±σ Ωε∞∩εφσφ≥√ ≥≡σß≤■∙Φσ ±εΓ∞σ±≥Φ∞ε±≥Φ ± 
  192.                 TDataSet.
  193.  
  194.     DataSetQuery.pas   - ±εΣσ≡µΦ≥ φα±δσΣφΦΩα TVirtualDataSet Ωε≥ε≡√Θ ±εΣσ≡µΦ≥
  195.                 90% ⌠≤φΩ÷Φεφαδⁿφε±≥Φ Ωεφσ≈φ√⌡ Ωε∞∩εφσφ≥. ─δ  ≡ατ≡αßε≥≈ΦΩα 
  196.                 Ωε∞∩εφσφ≥ Ωδα±± TDataSetQuery ∩≡σΣ±≥αΓδ σ≥ φαΦßεδⁿ°ΦΘ Φφ≥σ≡σ± ≥.Ω.
  197.                 ± ∩σ≡σΩ≡√≥Φσ∞ φσ±ΩεδⁿΩΦ⌡ ∞σ≥εΣεΓ Φτ φσπε ∞εµφε ±Σσδα≥ⁿ φε≡∞αδⁿφ√Θ 
  198.                 Ωε∞∩εφσφ≥ Σδ  Σε±≥≤∩α Ω δ■ß√∞ Σαφφ√∞ (φα∩≡Φ∞σ≡ δσπΩε ±Σσδα≥ⁿ 
  199.                 MemoryTable). ╤εΣσ≡µΦ≥ ≥αΩ µσ Ωδα±± TABlobStream, Ωε≥ε≡√Θ 
  200.                 Φ±∩εδⁿτ≤σ≥±  Γφ≤≥≡Φ TDataSetQuery Σδ  Σε±≥≤∩α Ω ∩εδ ∞ ≥Φ∩α BLOB.
  201.  
  202.     OraDB.pas - ±εΣσ≡µΦ≥ Ωε∞∩εφσφ≥ TOraDB Σδ  ΩεφφσΩ≥α Ω ╬≡αΩδ≤, αφαδεπ 
  203.                 TDatabase Γ Delphi.
  204.  
  205.     AOraSQL.pas - ±εΣσ≡µΦ≥ φσ∩ε±≡σΣ±≥Γσφφε Ωδα±± TAOraSQL Φ Φ±∩εδⁿτ≤σ∞√σ Φ∞ µσ 2 
  206.                 Ωδα±±α TAOraField Φ TAOraParam Σδ  ∩≡σΣ±≥αΓδσφΦ  ∩εδσΘ Φ ∩α≡α∞σ≥≡εΓ
  207.                 τα∩≡ε±α.
  208.  
  209.     OraSQL.pas  - ±εΣσ≡µΦ≥ Ωδα±± TOraSQL.
  210.  
  211.     OraDefines.pas - ±εΣσ≡µΦ≥ ≡ατδΦ≈φ√σ Ωεφ±≥αφ≥√ Φ ε∩≡σΣσδσφΦ  Σδ  OCI Γ√τεΓεΓ
  212.  
  213.     OraError.pas - ±εΣσ≡µΦ≥ Ωδα±± EOraError ∩ε≡εµΣσφ√Θ ε≥ Exception.
  214.  
  215.  
  216. ╚═╤╥└╦▀╓╚▀
  217. ----------
  218.  
  219. ╬≥Ω≡εΘ≥σ package dOCI4.dpk (dOCI5.dpk Σδ  Delphi 5). ═αµ∞Φ≥σ Ωφε∩ΩΦ "Compile", α 
  220. ∩ε≥ε∞ "Install" Φ Ωε∞∩εφσφ≥√ ≤±≥αφεΓ ≥± .
  221. ╚±Ωα≥ⁿ Φ⌡ ±δσΣ≤σ≥ φα ±≥≡αφΦ÷σ "Data Access" ∩αδΦ≥≡√ Ωε∞∩εφσφ≥εΓ Delphi.
  222.  
  223.  
  224.  
  225. ╩└╩ ╨└┴╬╥└╥▄ ╤ ╩╬╠╧╬═┼═╥└╠╚
  226. ---------------------------
  227.  
  228.   TOraDB - Σδ  ΩεφφσΩ≥α φα Oracle (αφαδεπ TDatabase Γ Delphi)
  229.    ╤ΓεΘ±≥Γα :
  230.     Active - Φ ≥αΩ  ±φε
  231.     DBLogin, DBPassword - Φ∞  Φ ∩α≡εδⁿ Γ ßατ≤ 
  232.     DBServer - ±ΦφεφΦ∞ ±σ≡Γσ≡α Ω Ωε≥ε≡ε∞≤ ΩεφσΩ≥Φ∞±  (±ετΣασ≥±  ± ∩ε∞ε∙ⁿ■ "Oracle
  233.           Net8 Easy Config" δΦßε ≡≤≈Ωα∞Φ ∩≡ε∩Φ±√Γασ≥±  Γ ⌠αΘδσ 
  234.           %oraclehome%/net80/admin/tnsnames.ora) 
  235.     OraSessionIsolationLevel - ≤≡εΓσφⁿ Φτεδ ÷ΦΦ ≥≡αφταΩ÷ΦΘ Σδ  ±σ±±ΦΦ. 
  236.           ┬±σ φα≈Φφα■∙Φσ±  Γ ²≥εΘ ±σΩ÷ΦΦ ≥≡αφτΓΩ÷ΦΦ ß≤Σ≤≥ Φ∞σ≥ⁿ ²≥ε≥ ≤≡εΓσφⁿ 
  237.           Φτεδ ÷ΦΦ (σ±δΦ εφ φσ ∩σ≡σε∩≡σΣσδσφ ± ∩ε∞ε∙ⁿ■ OraTransIsolationLevel).
  238.     OraTransIsolationLevel - ≤≡εΓσφⁿ Φτεδ ÷ΦΦ φεΓεΘ ≥≡αφταΩ÷ΦΦ. ┼±δΦ tiDefault 
  239.           ≥ε ≤≡εΓσφⁿ ßσ≡σ≥±  Φτ OraSessionIsolationLevel.
  240.    ╠σ≥εΣ√:
  241.     Open,Close - ±ΩεφσΩ≥Φ≥ⁿ± /ε≥ΩεφσΩ≥Φ≥ⁿ± 
  242.     StartTransaction,
  243.     CommitTransaction,
  244.     RollbackTransaction - ≤∩≡αΓδσφΦσ ≥≡αφταΩ÷Φ ∞Φ.
  245.  
  246.  
  247.   TOraSQL - τα∩≡ε±√ Ω Oracle (±εΓ∞σ±≥Φ∞α ± TDataSet)
  248.    ╤ΓεΘ±≥Γα :
  249.     Database - Ω ΩαΩεΘ ßατσ ⌡εΣΦ≥ⁿ(Ωε∞∩εφσφ≥α TOraDB)
  250.     SQL - ≥σΩ±≥ τα∩≡ε±α (ΩαΩ Γ±σπΣα - ∩α≡α∞σ≥≡√ φα≈Φφα■≥±  ± ':')
  251.     Params - ±∩Φ±εΩ ∩α≡α∞σ≥≡εΓ. 
  252.     FetchCount - Σδ  SELECT - ±ΩεδⁿΩε τα∩Φ±σΘ Γ√≥ πΦΓα≥ⁿ τα εΣφε εß≡α∙σφΦσ Ω ±σ≡Γσ≡≤.
  253.                  ╩αΩ ∩εΩατ√Γασ≥ ∩≡αΩ≥ΦΩα, τφα≈σφΦσ φα ≤≡εΓφσ 1 - ²≥ε ∩≡Φ∞σ≡φε
  254.                  ±Ωε≡ε±≥ⁿ BDE.
  255.     Prepare - ∩εΣπε≥εΓΦ≥ⁿ τα∩≡ε± Ω Γ√∩εδφσφΦ■. ┬√τ√Γα≥ⁿ φσεß τα≥σδⁿφε.
  256.     UnPrepare - ε±ΓεßεΣΦ≥ⁿ ∩≡ΦΓ τΩ≤, ±Σσδαφ≤■ Prepare. ┬√τ√Γα≥ⁿ φσεß τα≥σδⁿφε.
  257.  
  258.     ─ε±≥≤∩ Ω Σαφφ√∞ ≡σΩε∞σφΣ≤σ≥±  Σσδα≥ⁿ ≈σ≡στ ±δσΣ≤■∙Φσ ∞σ≥εΣ√ :
  259.    GetFieldValue - ∩εδ≤≈Φ≥ⁿ τφα≈σφΦσ ∩εδ . ═α∞φεπε ß√±≥≡σσ FieldByName('').As...
  260.         φε φσ∩≡αΓΦδⁿφε ε≥Σασ≥ τφα≈σφΦ  τα∩Φ±σΘ φα⌡εΣ ∙Φ⌡±  Γ ≡σµΦ∞σ ≡σΣαΩ≥Φ≡εΓαφΦ .
  261.    GetFieldHArray - ∩εδ≤≈Φ≥ⁿ ≤Ωατα≥σδⁿ φα ∞α±±ΦΓ τφα≈σφΦΘ ∩εδ 
  262.    GetFieldNullHArray - ∩εδ≤≈Φ≥ⁿ ≤Ωατα≥σδⁿ φα ∞α±±ΦΓ ∩≡ΦτφαΩεΓ Null ΦδΦ NOT Null
  263.       (∩ε ∩ε±δσΣφΦ∞ 2-∞ ∞σ≥εΣα∞ ∩εδστφε ΓφΦ∞α≥σδⁿφε ∩≡ε±∞ε≥≡σ≥ⁿ ⌠αΘδ DynamicArrays.pas)
  264.    ReadAll - ∩≡ε≈Φ≥α≥ⁿ Γ±σ Σαφφ√σ ± ±σ≡Γσ≡α φα δεΩαδⁿφ≤■ ∞α°Φφ≤
  265.    VGoto - ∩≡ε≈Φ≥α≥ⁿ Γ±σ τα∩Φ±Φ Σε ≤ΩαταφεΘ, σ±δΦ εφΦ σ∙σ φσ ∩≡ε≈Φ≥αφ√
  266.  
  267.   TAOraUpdateSQL - τα∩≡ε±√ Φτ∞σφσφΦ  Σαφφ√⌡
  268.     DeleteSQL, InsertSQL, ModifySQL - Φ ≥αΩ ∩εφ ≥φε Σδ  ≈σπε ∩≡σΣφατφα≈σφ√
  269.     ╧≡Φ∞σ≡√ ∩≡Φ∞σφσφΦ  TAOraUpdateSQL σ±≥ⁿ Γ Φ±⌡εΣφ√⌡ ≥σΩ±≥α⌡ ∞εΣ≤δ  OraSQL.pas.
  270.  
  271.  
  272.  
  273.  
  274. ╨αßε≥α ± BLOB :
  275.  
  276.  ╧≡Φ ≡αßε≥σ ± TOraSQL BLOB ∩εδ  ∞εµφε ≈Φ≥α≥ⁿ Φ±∩εδⁿτ≤  ±≥αφΣα≡≥φ√σ ∞σ≥εΣ√ ε≥ 
  277.  TDataSet.
  278.  
  279.  ─δ  τα∩Φ±Φ ∩εΩα φαΣε Φ±∩εδⁿτεΓα≥ⁿ TAOraSQL. ╫≥ε ß√ ∞εµφε ß√δε τα∩Φ±√Γα≥ⁿ ∩εδ 
  280.  BLOB τα∩≡ε± Σεδµσφ ±εΣσ≡µα≥ⁿ ⌠≡ατ≤ "FOR UPDATE" Φφα≈σ ∩≡Φ ∩ε∩√≥Ωσ τα∩Φ±α≥ⁿ Γ
  281.  ∩εδσ BLOB ΓετφΦΩασ≥ ε°ΦßΩα. (²≥ε ≥αΩα  ⌠Φ≈α ε≡αΩδα).
  282.  
  283.  TAOraSQL Φ∞σσ≥ ⌠≤φΩ÷ΦΦ Σδ  ≡αßε≥√ ± BLOB:
  284.  
  285.    GetLobLength - ∩εδ≤≈Φ≥ⁿ ≡ατ∞σ≡ Σαφφ√⌡ Γ ßαΘ≥α⌡ ±εΣσ≡µα∙Φ⌡±  Γ ∩εδσ.
  286.    ReadBlob  - ≈Φ≥ασ≥ Σαφφ√σ Φτ ταΣαφφεπε BLOB ∩εδ  Γ ß≤⌠σ≡.
  287.    WriteBlob - τα∩Φ±√Γασ≥ Σαφφ√σ Φτ ταΣαφφεπε ß≤⌠σ≡α Γ BLOB ∩εδσ.
  288.    ReadBlobToStream - ≈Φ≥ασ≥ Γσ±ⁿ BLOB Γ ∩ε≥εΩ
  289.    WriteBlobFromStream - ∩σ≡στα∩Φ±√Γασ≥ BLOB ∩εδσ Φτ ∩ε≥εΩα
  290.    WriteBlobParam
  291.    ReadBlobParam
  292.  
  293. =============== ┬═╚╠└═╚┼! ==================
  294. ─δ  ε≥Ω≡√ΓαφΦ  SELECT-τα∩≡ε±εΓ φαΣε Γ√τ√Γα≥ⁿ
  295.  Open/Close, Σδ  ε±≥αδⁿφ√⌡ - ExecSQL. 
  296. ============================================
  297.  
  298. ╧≡Φ∞σ≡√
  299. -------
  300.  
  301. *** ╧εδ≤≈σφΦσ Ω≤≡±ε≡α Φτ τα∩≡ε±α.
  302.  
  303.    ─δ  ²≥επε φαΣε φα∩Φ±α≥ⁿ τα∩≡ε±, ∩α≡α∞σ≥≡ε∞ Ωε≥ε≡επε  Γδ σ≥±  Ω≤≡±ε≡ Φ
  304.    ∩≡Φ±ΓεΦ≥ⁿ ²≥ε∞≤ ∩α≡α∞σ≥≡≤ ≥Φ∩ Σαφφ√⌡ ftCursor Φ ≥Φ∩ ∩α≡α∞σ≥≡α ptResult.
  305.     ═α∩≡Φ∞σ≡, Γ√τεΓ StoredProc, ΓετΓ≡α∙α■∙σΘ Ω≤≡±ε≡ :
  306.  
  307.    BEGIN  :Result := GetData(12); END;
  308.  
  309. !!!! ┬ ≥σΩ±≥σ SQL ∞εµφε ∩Φ±α≥ⁿ PL/SQL-ßδεΩ.
  310.  
  311.  
  312. ***  ┼±δΦ φαΣε Γ√≥ φ≤≥ⁿ τα∩≡ε±ε∞ Γ±σπε  φσ±ΩεδⁿΩε ≈Φ±σδ (τα∩≡ε± ≥αΩεΘ ≈≥ε 
  313.    ΓετΓ≡α∙ασ≥ φσ±ΩεδⁿΩε ∩εδσΘ Φτ εΣφεΘ ±≥≡εΩΦ ≥αßδΦ÷√) ≥ε δ≤≈°σ Φ±∩εδⁿτεΓα≥ⁿ 
  314.    Σδ  ²≥επε ∩α≡α∞σ≥≡√, α φσ ∩εδ , φα∩≡Φ∞σ≡ :
  315.     
  316.   BEGIN SELECT Name,Index INTO :Name,:Index FROM Table1 WHERE ...... ; END; 
  317.  
  318.    Φ ≡στ≤δⁿ≥α≥ ∩εδ≤≈α≥ⁿ ≈σ≡στ ∩α≡α∞σ≥≡√ 
  319.  
  320.    Name:=OraSQL.ParamByName('Name').AsString
  321.    Ind:=OraSQL.ParamByName('Index').AsInteger
  322.  
  323.    ∩≡αΓΣα ≥Φ∩√ ∩α≡α∞σ≥≡εΓ Name Φ Index φαΣε ß≤Σσ≥ ταΣα≥ⁿ ≡≤≈Ωα∞Φ Γ 
  324.    ΣΦταΘφσ≡σ ΦδΦ Γ ΩεΣσ ∩≡επ≡α∞∞√.
  325.  
  326. *** ─ε∩εδφΦ≥σδⁿφ√σ ∩≡Φ∞σ≡√ ∞εµφε φαΘ≥Φ Γ ⌠αΘδσ OraSQL.pas.   
  327.  
  328. ╥┼╤╥█ ═└ ╧╨╬╚╟┬╬─╚╥┼╦▄═╬╤╥▄
  329. ---------------------------
  330.  
  331.  
  332.    ╧≡ΦßδΦτΦ≥σδⁿφ√σ τα∞σ≡√ ±Ωε≡ε±≥Φ ∩εΩαταδΦ(±σΩ≤φΣ√) :
  333.            BDE        OCI(FetchCount=1)   OCI(FetchCount=1000)
  334.  INSERT     24                         19
  335.  SELECT     27                26                  4
  336.  
  337.   ╥σ±≥√ Γ√∩εδφ δΦ±ⁿ :
  338.           ±σ≡Γσ≡ - oracle 8.0.5(linux) - p-200/64ram
  339.           ΩδΦσφ≥ - NT4                 - pII-233/64ram
  340.           ±σ≥Ωα - 10∞ßΦ≥ φσταπ≡≤µσφφα 
  341.           ≡αßε≥α °δα ± φσßεδⁿ°εΘ ≥αßδΦ÷σΘ Γ 10000 τα∩Φ±σΘ
  342.  
  343.  
  344.  
  345.  
  346. CHANGE LOG
  347. ----------
  348. v 1.10 (06.04.2001)
  349.  * Γ TADataSet φσΩε≥ε≡√σ ∩εδ  Γ√φσ±σφ√ Φτ protected Γ private α ±±√δΩΦ φα φΦ⌡ 
  350.    ≤ φα±δσΣφΦΩεΓ τα∞σφσφ√ ±εεßΓσ≥±≥Γ≤■∙Φ∞Φ Γ√τεΓα∞Φ ∩≡ε∩σ≡≥σΘ Φ ⌠-÷ΦΘ TADataSeta
  351.  * ─εßαΓδσφ ΓΦ≡≥≤αδⁿφ√Θ ∞σ≥εΣ CreateAField ± ∩ε∞ε∙ⁿ■ Ωε≥ε≡επε ∞εµφε τα±≥αΓΦ≥ⁿ 
  352.    TADataSet ±εΣσ≡µα≥ⁿ ±∩Φ±εΩ ∩εδσΘ φσ ≥εδⁿΩε Ωδα±±α TAField, α δ■ßεπε Σ≡≤πεπε
  353.    φα±δσΣφΦΩα TAField.
  354.  * ╙ß≡αφ τα φσφαΣεßφε±≥ⁿ■ ∞σ≥εΣ AddField Γ TAOraSQL. ╥σ∩σ≡ⁿ Γ∞σ±≥ε AddField ≡αßε≥ασ≥
  355.    ∩σ≡σΩ≡√≥√Θ CreateAField.
  356.  * ─εßαΓδσφα ∩≡εΓσ≡Ωα ≈≥ε ≥σΩ±≥ τα∩≡ε±α ∩≤±≥εΘ. ╥σ∩σ≡ⁿ Γ∞σ±≥ε ±≥≡αφφεπε "═≤δσΓεΘ
  357.    ±≈σ≥≈ΦΩ Φ≥σ≡α÷ΦΘ" ε≥ ORACLE Γ√Σασ≥±  Γ∩εδφσ ∩εφ ≥φεσ "SQL statement is empty."
  358. v 1.09 (19.03.2001)
  359.  *  ─εßαΓδσφ Γ AOraSQL ∞σ≥εΣ OpenDatabase.
  360.  *  ╤Σσδαφ ≡σΣαΩ≥ε≡ Σδ  AOraUpdateSQL. ╥σ∩σ≡ⁿ τα∩≡ε±√ φα Φτ∞σφσφΦσ Σαφφ√⌡ ∞εµφε
  361.     φσ ∩Φ±α≥ⁿ ≡≤±Ωα∞Φ α πσφσ≡Φ≥ⁿ ± ∩ε∞ε∙ⁿ■ ≡σΣαΩ≥ε≡α ΩαΩ ²≥ε ±Σσδαφε Γ ±≥αφΣα≡≥φε∞
  362.     TUpdateSQL.   
  363. v 1.08 (27.02.2001)
  364.  *  ┬ ±εεß∙σφΦΦ εß ε°ΦßΩσ 2 ≡ατα Γ√ΓεΣΦδ±  φε∞σ≡ ε°ΦßΩΦ.
  365.  *  ╬°ΦßΩΦ ± φε∞σ≡α∞Φ 20010-20050 τα≡στσ≡ΓΦ≡εΓαφ√ Σδ  Φφ⌠ε≡∞α÷Φεφφ√⌡ ±εεß∙σφΦΘ
  366.     ∩εδⁿτεΓα≥σδσΘ Φτ ßατ√ Φ ε°ΦßΩα∞Φ φσ ±≈Φ≥α■≥± . ╧≡Φ Φ⌡ εß≡αßε≥Ωσ Γ±  
  367.     ε≥δαΣε≈φα  Φφ⌠ε≡∞α÷Φ  Γ√≡στασ≥± , ε±≥ασ≥±  ≥εδⁿΩε ∩εδⁿτεΓα≥σδⁿ±Ωεσ ±εεß∙σφΦσ.
  368.     τα ∩εΣ≡εßφε±≥ ∞Φ ±∞. Ωε∞σφ≥α≡ΦΦ Γ OraError.pas
  369. v 1.07 (08.01.2001)
  370.  *  ─εßαΓδσφ√ event√ BeforeInitOCI Φ AfterInitOCI. ╤ Φ⌡ ∩ε∞ε∙ⁿ■ ∞εµφε Φτ∞σφΦ≥ⁿ 
  371.     φατΓαφΦσ OCI ßΦßδΦε≥σΩΦ Φ Σα≥ⁿ Accept φα σ╕ ΦφΦ÷ΦαδΦτα÷Φ■.
  372.  *  ─εßαΓδσφ√ 2 property OraSessionIsolationLevel Φ OraTransIsolationLevel 
  373.     Ωε≥ε≡√σ ∩ετΓεδ ■≥ ταΣα≥ⁿ ≤≡εΓφΦ Φτεδ ÷ΦΦ ≥≡αφταΩ÷ΦΘ ΩαΩ Γ ÷σδε∞ Σδ  ±σ±±Φ
  374.     ≥αΩ Φ Σδ  ΩαµΣεΘ ≥≡αφταΩ÷ΦΦ ε≥Σσδⁿφε.
  375. v 1.06 (21.12.2000)
  376.  *  2 procedures CopyStructure added in TADataSet.
  377. v 1.05
  378.  *  ┬ TADataSet Ωε∞∞σφ≥α≡ΦΦ Φ ε∩Φ±αφΦσ ⌠-÷ΦΘ ≈α±≥Φ≈φε ∩σ≡σΓσΣσφε φα αφπδΦΘ±ΩΦΘ
  379.  *  ╧σ≡σ±∞ε≥≡σφ Γσ±ⁿ ΩεΣ ⌠αΘδεΓ AOraSQL.pas, ADataSet.pas Φ AMemoryDataSet.pas
  380.     ─εßαΓδσφε ∞φεπε ∩≡εΓσ≡εΩ Φ φε≡∞αδⁿφ√⌡ ±εεß∙σφΦΘ εß ε°ΦßΩα⌡.
  381.  *  ╧σ≡σΦ∞σφεΓαφε φσ±ΩεδⁿΩε ∞σ≥εΣεΓ Γ TADataSet.
  382.  *  ┬ TADataSet Φτ AMemoryDataSet Γφσ±σφ ∞σ≥εΣ AddField.
  383.  *  ╚φΦ÷ΦαδΦτα÷Φ  ±∩Φ±Ωα ∩α≡α∞σ≥≡εΓ Γφσ±σφα Γ TADataSet, α Φτ σπε φα±δσΣφΦΩεΓ
  384.     ≤ß≡αφα.
  385. v 1.04
  386.  *  ┬ AOraSQL ΣεßαΓδσφ ∞σ≥εΣ GetLobLength.
  387. v 1.03
  388.  * ┬ Ωδα±±σ DataSetQuery Query ∩σ≡σφσ±σφα Φτ public Γ protected. 
  389.    ▌≥ε ∩ετΓεδΦ≥ δσπ≈σ ΣσΣσΩ≥Φ≡εΓα≥ⁿ ε°ΦßΩΦ ∩≡Φ ∩σ≡σ⌡εΣσ ± Γσ≡±ΦΦ 0.9 Ω ßεδσσ 
  390.    ∩ετΣφΦ∞.
  391. v 1.02
  392.  * ┬ TOraDB ΓΓσΣσφ√ event√ 
  393.     BeforeLogin (σ±≥ⁿ ∩α≡α∞σ≥≡ Accept), 
  394.     AfterLogin, BeforeCommit, AfterCommit,OnStartTransaction.
  395.     ─≤∞α■ ≈≥ε Φ⌡ ±∞√δ ∩εφ ≥σφ Φτ φατΓαφΦΘ.
  396. v 1.01
  397.  * ╚±∩≡αΓδσφ ßαπ ∩≡Φ εß≡α∙σφΦΦ Ω OldValue δ■ßεπε ∩εδ  σ±δΦ φσ ß√δε ≡σΣαΩ≥Φ≡εΓαφΦ 
  398.    ≥ε ΓετΓ≡α∙αδε Γ±σπΣα NULL Γ∞σ±≥ε φ≤µφεπε τφα≈σφΦ .
  399.  * ╥σ≡σ≡ⁿ Γ√τεΓ Refresh ∩σ≡σε≥Ω≡√Γασ≥ τα∩≡ε± ≥.σ. εßφεΓδ σ≥ Σαφφ√σ Φτ ±σ≡Γσ≡α.
  400. v 1.0:
  401.  * ╚±∩≡αΓδσφε ∞φεπε ∞σδΩΦ⌡ ßαπεΓ, ≤δ≤≈°σφα ±εΓ∞σ±≥Φ∞ε±≥ⁿ ± Σσδⁿ⌠εΓ√∞Φ Ωε∞∩εφσφ≥α∞Φ,
  402.    ≥σ∩σ≡ⁿ ∩εδ  ∞εµφε ±ετΣαΓα≥ⁿ ΩαΩ Γ Σσδⁿ⌠σ (fielddefs.add)
  403.  * ─εßαΓδσφα ∩εΣΣσ≡µΩα ∩εδσΘ Blob. ≡αßε≥α≥ⁿ ± φΦ∞Φ ∞εµφε ΩαΩ Γ Σσδⁿ⌠σ φε∩εΩα ≥εδⁿΩε
  404.    φα ≈≥σφΦσ, Σδ  τα∩Φ±Φ φ≤µφε Φ±∩εδⁿτεΓα≥ⁿ TAOraSQL.
  405.  * ╧α≡α∞σ≥≡√ ≤µσ φσ φαΣε ταΣαΓα≥ⁿ ≡≤≈Ωα∞Φ, ∩≡Φ Φτ∞σφσφΦΦ τα∩≡ε±α εφΦ εßφεΓδ ■≥± ,
  406.    ε±≥ασ≥±  ≥εδⁿΩε ΓΓσ±≥Φ Φ⌡ ⌡α≡αΩ≥σ≡Φ±≥ΦΩΦ.
  407. v 0.4:
  408.  * ╘ΦΩ±√ Σδ  Fetch, Prepare, ≡αßε≥√ ± Σα≥α∞Φ, ∩α≡α∞σ≥≡√
  409.  * ╥σ∩σ≡ⁿ αδπε≡Φ≥∞ Prepare ≡αßε≥ασ≥ ΩαΩ Γ Delphi - σ±δΦ τα∩≡ε± ∩≡σ∩α≡Φ≥ⁿ ≡≤≈Ωα∞Φ,
  410.    ∩ε ταΩ≡√≥Φ■ εφ φσ ≡α±∩≡σ∩α≡ΦΓασ≥± 
  411. v 0.3:
  412.  * ┬√δΦταφε σ∙σ ßεδⁿ°σ ;)
  413.  * ╤Σσδαφα ∩εΣΣσ≡µΩα ∩ε≈≥Φ Γ±σ⌡ ≥Φ∩εΓ ∩εδσΘ, Γ ≥ε∞ ≈Φ±δσ Blob - ⌡ε≥  φσ ≈σ≡στ
  414.    ±≥αφΣα≡≥φ√σ ⌠≤φΩ÷ΦΦ
  415.  * ╤Σσδαφε φε≡∞αδⁿφεσ Γ√≥ πΦΓαφΦσ ∩εδσΘ Φτ τα∩≡ε±α - ≥σ∩σ≡ⁿ φσ εß τα≥σδⁿφε
  416.    εß· Γδ ≥ⁿ Γ±σ ∩εδ  Γ Ωε∞∩εφσφ≥σ, σ±δΦ Φ⌡ φσ≥ - Γ√≥α∙α≥± .
  417. v 0.2:
  418.  * ┬√δΦταφε ε≈σφⁿ ∞φεπε Γ± Ωεπε. 
  419.  * ╙∩ε≡ Σε≈σφα ∩εΣΣσ≡µΩα ≥Φ∩εΓ ∩εδσΘ. ╤σΘ≈α± ≡αßε≥α■≥ String,Boolean,Float,
  420.    Date,Integer, φε ≡αßε≥α■≥ ΓστΣσ. ╚τ∞σφσφα ±≥≡≤Ω≥≤≡α ⌡≡αφσφΦ  ∩≡ε≈Φ≥αφ√⌡
  421.    Σαφφ√⌡. ╥σ∩σ≡ⁿ εφΦ ⌡≡αφ ≥±  Γ ⌠ε≡∞α≥σ Delphi - ≥αΩ ß≤Σσ≥ ßεδⁿ°σ ±Ωε≡ε±≥ⁿ ∩≡Φ
  422.    εß≡α∙σφΦΦ Γ ∩α∞ ≥Φ. ╩εφΓσ≡≥α÷Φ  Σαφφ√⌡ ±Σσδαφα ≈α±≥Φ≈φε φα α±±σ∞ßδσ≡σ.
  423.  * ╤Σσδαφ Σε±≥≤∩ Ω Σαφφ√∞ Γ εß⌡εΣ TDataSet - ΩαΩ Ω εß√≈φ√∞ ∞α±±ΦΓα∞. ▌≥ε Σα±≥
  424.    ßεδⁿ°≤■ ±Ωε≡ε±≥ⁿ ∩≡Φ ßσπαφΦΦ ∩ε Σαφφ√∞ Γ ∩α∞ ≥Φ.
  425.  * ╧ε ΓΦδα±ⁿ ∩εΣΣσ≡µΩα Ω≤≡±ε≡εΓ Γ ∩α≡α∞σ≥≡α⌡. ╥σ∩σ≡ⁿ δ■ßεΘ τα∩≡ε± ∞εµσ≥ Γσ≡φ≤≥ⁿ
  426.    Ω≤≡±ε≡.
  427.  * ╬≥δεΓΦδ±  ßαπ, Ωε≥ε≡√Θ ∩εΩα φσ ΓΦΣφε ΩαΩ Φ±∩≡αΓΦ≥ⁿ - σ±δΦ Γ√ ≈σ≡στ
  428.    FieldsEditor Γ√ßΦ≡ασ≥σ ∩εδ , ± Ωε≥ε≡√∞Φ ß≤Σσ≥σ ≡αßε≥α≥ⁿ, Φ ΓΩδ■≈ασ≥σ
  429.    φσ Γ±σ ∩εδ , Ωε≥ε≡√σ Γ√ßΦ≡α■≥±  τα∩≡ε±ε∞, ∩≡Φ φσΓ√ßε≡σ ∩ε±δσΣφσπε ∩εδ  τα∩≡ε±α
  430.    σ±≥ⁿ ∩≡εßδσ∞√.
  431.  
  432.  
  433.  
  434.  With best regards,
  435.     Andrey Romanchenko. lasersquard@yahoo.com, roma@axioma.da.ru
  436.