ᥩ 祢


                  IDAPI.
                               ( )

                                 1. 

室  -ࢥ୮ 孮 ⠢ । ࠧࠡ稪
ਪ ணࠬ ᯥ祭 ()  :  
묨 ⠬ ३   孮,  ᨬ쭮 ࠭
ᮡ⢥ ࠡ⪨,  ᯥ ᨬ   筨 .
 ⮣  (  祬) 㯭 ந⥫ । ࠧࠡ⪨ ⢥
      ୮,   ᯥ.

ଠ Borland ।  롮 த⮢,  
ᯮ짮 ࠧࠡ稪 ਪ   ᮧ ᪮  
-ࢥ ਫ: dBase for Windows 5.0, Paradox for Windows 5.0,
C++ 4.5 with Database Tools, Delphi95.   ᫥ த⮢
   䥩 㯠  筨  - IDAPI.

IDAPI (Intergrated Database API) -  孮 㭨஢,
஧筮 㯠  筨  ࠧ ଠ⮢,   
 SQL ࢥ஢.  , IDAPI -   㭪権, 騩 ந
ਫ,  騥  ଠ . ஬ ⮣, IDAPI -  ।⢮
⠡஢ ਫ, ।⠢騥 ࠧࠡ稪  ३
 ᮢ६ 孮 -ࢥ.

  ᨨ ,  ४ ᥡ ᮭ ,
 孮 IDAPI, ଠ Borland ⠥ ঠ ࠧࠡ稪 
   -ࢥ .


                    2.   

IDAPI  㯮  樮   ,  ॠ  
୮ .  ୠ  IDAPI 砥:

-  ६饭   ࠢ   ;
- 㯮冷稢   ;
- 宦   ;
-   ⥪饥      
  (堭 );
- 뢠 ஢,  ࣠樨 ⭮襭 ⨯ -- 
  -- ;
- 䨫   ;
-   㣮.

樮  ।⠢ 訥 ,  ࠧࠡ稪 IDAPI
 뫨   㯥, ᭮  . IDAPI  믮 SQL
 QBE ,  ᫨  頥 १,  ਫ 
, 㪠뢠騩  . 孮 । ࠧࠡ稪 ᬥ訢 
⨯ 㯠  ஥  䥪⨢ ਫ.  IDAPI
।⠢   㭪権  㯠    dBase, Paradox ⠡栬,
⠪   SQL ࢥࠬ (Informix, Interbase, Oracle, Sybase/MS SQL server).
 楯 ॠ १ ⥪, ᭮  ࠩ. 
, ਬ, ᯮ짮   ࣠樨 browser 
Interbase ⠡  믮 SQL    dBase .
孮 IDAPI ।ᬠਢ  祭  த IDAPI
ࠩ஢, ⠪  ODBC ࠩ஢,  ⥫쭮  ࠭ ਬ
IDAPI.


                          3.  

 騩  孮 IDAPI ॠ  Windows 3.1  室 
⠢ dBase 5.0 for Windows, Paradox 5.0 for Windows, Delphi. ஬ ⮣
ॠ IDAPI ⠢   ⤥쭮 : Borland Database
Engine (BDE) 2.0.  쭥襬 ᪠  孮 IDAPI 㤥 ᭮뢠
   ॠ樨 BDE 2.0, ⮬ ନ IDAPI  BDE   쭥襬
ᬠਢ  ᨭ.

BDE 2.0 -    ᮪ந⥫ । ࠧࠡ稪,
।祭  ᮧ ਫ ࠢ    ।
Windows. BDE ⮨  ᫥ :

-  150 㭪権 㯠  ࠢ  (ᮡ⢥ IDAPI), 饭 
  Windows DLL;
-  ᮢ, ন饥  SQL, ⠪  QBE:
-  ⠭ ࠩ  㯠  Paradox, dBase,   ⥪⮢
  ଠ;
-  ᮪ந⥫쭮 㯠  SQL ࢥࠬ १ IDAPI ࠩ;
- ODBC  (IDAPTER), ।⠢騩   筨  १
  ODBC ࠩ;
- 50 ஥ 몮 ࠩ஢,  3 ࠩ  ਫ楩;
- Borland Database Desktop 5.0 - Windows ਫ, ஥ 
  ࠪ⨢ ࠢ ;
- ਬ ᯮ짮 IDAPI  몮 ணࠬ஢   ᪠.

⤥쭮 ⠢  IDAPI ࠩ஢ (Borland SQL Links 2.0 for
Windows),  ᯥ稢     Informix, InterBase,
Oracle, Sybase/MS SQL ࢥ.  ࠩ ⨬஢   
ᮡ SQL ࢥ.

 ,   ⠢  BDE  室 ।⢠ ᮧ
짮⥫᪮ 䥩 (, ).


                        4.    

 饩     த⮬   ⪮ ⮢
㪮⢮ ࠧࠡ稪, 稭騬 ᯮ짮 IDAPI.  ஥ 
 ⪮,  ⥭饣  ,  㭪権 IDAPI.

 ᭮ ⥩ IDAPI ஥  ᬮ७/
᭮ 蠣,  믮 ਫ,     
 .    ਫ, ࠢ饣    IDAPI,
  奬᪨ ।⠢ ᫥饩 ⠡楩:


⢨
IDAPI 㭪

⮢
樠 database engine
DbiInit

⮢
⨥ 
DbiOpenDataBase

⮢
⨥ ⠡  祭 
DbiOpenTable

⮢
祭 ଠ樨  
DbiGetCursorProps

⮢
ࢨ஢      ᬮ७ ࠧࠡ稪
(malloc, calloc, new)

⮢
祭 ଠ樨  ਯ 
DbiGetFieldDescs

⥭
樮஢   뢠   
DbiGetNextRecord

⥭
뢠 ண    
DbiGetField


     ⭮  
DbiPutField


 ⠡  
DbiModifyRecord

襭
⨥ 
DbiCloseCursor

襭
⨥ 
DbiCloseDatabase

襭
⨥ database engine
DbiExit

ᬮਬ ⥯  蠣 ஡.


                       5.    

 ᭮ ன IDAPI ࠭  ᯥ樠쭮 䨣樮 䠩.
 ᯮᮡ ᯥ稢 ⥫ 쭮 ਫ.  ७
  ।  ॡ  ᠬ ਫ 筮 ந
䨣樮 䠩.

䨣樮 䠩 (筮 IDAPI.CFG) ᮤন ᠭ  ன 
㯭 ࠩ஢, ன IDAPI  ᠭ ।塞 짮⥫
ᮢ.

 -  뫪     ⪮ . ᯮ짮 ᮢ
   ⮯  ⨯ ࠡ祩 .  ⮯
  ᮤন ⨯  ன ࠩ,  ᯮ  㯠
 .


                           5.1  IDAPI

 ࢮ 蠣 ਫ ᥣ 뢠 㭪 DbiInit, 
樠 IDAPI.  ਫ  । 㭪樨 DbiInit 㪠⥫ 
 DBIEnv,  ᮤন 砫 ⠭: ࠡ ४,
  ஬  뤠 ᮮ饭  訡,  짮⥫,
  䨣樮 䠩.  ᫨  㪠⥫ ࠢ NULL, 
IDAPI 㤥 ᯮ짮 ன  㬮砭,  䨣樮 䠩
(IDAPI.CFG) 㤥 ᪠  ᫥饩 ᫥⥫쭮:

1. ॢ ⠭ CONFIGFILE01  ᥪ樨 [IDAPI] 䠩 WIN.INI:

2. ஢ ⮢ ४;

᫨ 䨣樮 䠩  ,  IDAPI ᯮ ன
-㬮砭,  ⮬   SQL ࢥࠬ  .


// 樠 IDAPI
rslt=DbiInit(NULL);

஬ 樠樨 맮 DbiInit 뢠  .  
஢ 樨 㯠    室 ᪠  
ਫ.  쭥訥 ⢨ ਫ  ந室 
⥪ ᨨ.  窨 ७  ,   룫廊  
 ⤥ 짮⥫.  ਬ,   ஢   ᨨ
䫨  ஢, ⠭ 㣮 ᨥ   ⮬ 砥,
  ᨨ ਭ   ⮬  . ᨨ -  ᯮᮡ
 ஢  ⢨     㣮.

। ⥬,  ⢨   㤥 믮  ࠬ ᨨ,  
    .    ६   ⢮
 .     ஥ ᨬ  ⭮襭 ⠪
饩,  Call-back-㭪樨, 모  ᮮ饭  訡, ଠ  
..


                          5.2   

᫥ ᯥ譮 樠樨 IDAPI, ਫ 뢠   ()
맮 㭪樨 DbiOpenDatabase. ᯥ 맮 ⮩ 㭪樨 頥
䨪 ,  ⥬ ᯮ  設⢥ 㣨 㭪権
IDAPI.  祭  SQL  맮 㭪樨 DbiOpenDatabase 
ᮤঠ  짮⥫  ஫.

騩 ਬ  ⨥ ⠭⭮  (Paradox, dBASE,
ASCII),  㫥 㪠⥫      ⨯.

rslt=DbiOpenDatabase(NULL, NULL, dbiREADWRITE, dbbiOPENSHARED, NULL, 0, NULL,
NULL, &hDb);

 ⮣ ⮡  ⥪ ४  ⠭⭮  ᯮ
㭪 DbiSetDirectory

rslt=DbiSetDirectory(hDb, C:\DATA);

 ⨨ SQL  㤮   ,  ⮯   ன
IDAPI  .

騩 ਬ 뢠    SQL ࢥ.

rslt=DbiOpenDatabase(myalias, NULL, dbiREADWRITE, dbiOPENSHARED,
mypassword, 0, NULL, NULL. &hDb);


                         5.3   

᫥   ਫ 뢠 ⠡ 맮 DbiOpenTable .
室묨 ࠬࠬ  ⮣ 맮 :  ⠡, ⨯ ࠩ,
 ( ஬  ஢ ), ࠢ 㯠, ᯮᮡ
८ࠧ .  砥 ᯥ譮 믮 DbiOpenTabl 頥
䨪  ⮩ ⠡.  IDAPI  -  ᭮
।⢮ 㯠  .  䨪  砥 
  .  騩 ਬ 뢠 Paradox ⠡ MyTable:

DbiOpenTable(hDb, MyTable, szPARADOX, NULL, NULL, 0, dbiREADWRITE,
dbiOPENSHARED,  xltFIELD, 0, NULL, &hCursor);

ᬮਬ ⥫쭥  室 ࠬ 맮 DbiOpenTable.


                      5.3.1     

 ⠡  ⨯ ࠩ ᭮ 易  ᮡ (PARADOX - .DB, dBASE
- .DBF, ASCIIDRV - .TXT). ⮬ ⨯ ࠩ   饭, ᫨
ਫ 㪠뢠   ⠡   ଠ Paradox  dBase.
 ᫨  ⠡  砥 ७,  ⨯ ࠩ 
㪠뢠 .

᫨   砥  ᥡ ,   㬮砭  ⥪ ४
.   砥 SQL ⠡ ⨯ ࠩ  맮 DbiOpenTable ,
᪮ ॡ㥬 SQL ࠩ 㦥  ࠭    .


                     5.3.2   

 IDAPI । ᢮ ⨯  (᪨ ⨯),  
⫨  த ⨯ .  롮ઠ   ⠡ IDAPI 
⢫ ८ࠧ   த ⨯  ᪨ ⨯ IDAPI.
뢠 ⠡, ਫ  㪠: 믮 ८ࠧ
(xltFIELD ᯮᮡ ८ࠧ)   (xltNONE ᯮᮡ ८ࠧ).
᪨ ⨯ IDAPI ᮢ⨬  ⨯  몠 .  ⭮,
⮬ ४ ᯮ짮 ८ࠧ,  ਫ  
⪫ .    ⮫쪮  ⥭/ 
㭪ﬨ DbiGetField  DbiPutField.


                             5.3.3  

 ࠢ 㯠 ࠧ㬥 ࠢ   (ࠬ eOpenMode) 
ࠢ  묨 (ࠬ eShareMode): 饥  ᪫⥫쭮.

ࠢ 㯠      祢  (᫥  浪
뢠 ਮ):

1.  OPEN MODE  䠩 䨣樨 IDAPI.CFG

2. 室 ࠬ eOpenMode  eShareMode  㭪樨   DbiOpenDatabase.

3. 室 ࠬ eOpenMode  eShareMode  㭪樨  ⠡
DbiOpenTable.

 , ࠢ 㯠, 㪠  맮 DbiOpenDatabase,  訩
ਮ, 祬  맮 DbiOpenTable. ਬ, ᫨  뫠  ⮫쪮
 ⥭,   ⠡  ⮩       .
 ⮣, ⮡ ⠡     , 室 ⮡
ᮮ⢥  뫠   .

筮 ࠢ    ࠬ eShareMode, ।饣 㤥
    ࠧ塞  ᪫⥫.


                5.4     .

 ⠡  稢 䨪 , ਫ  
 ଠ  ⮩ ⠡.  ⮣ ਫ 뢠 㭪
DbiGetCursorProps c 䨪஬   ⢥ 室 ࠬ.
맮 DbiGetCursorProps 筮 ᫥ ࠧ  맮 DbiOpenTable.

맮 㭪樨 DbiGetCursorProps   CURProps, 
ᮤন ᫥ ଠ   (⠡):

-  ⠡ (, ⢮ , ⢮ ஢ப ࠢ쭮
祭, ⢮ ஢ப 楫⭮,  .);

- ᮡ ࠡ IDAPI   ⠡楩 (᪠  ,
䨧᪠  , ࠧ   , ᯮᮡ ࠭樨 ,
 몮 ࠩ, ⢮ ᯮ㥬 䨫஢, ⨯ ,  .)

 ଠ   ⮩ ⠡,  맮 DbiGetFieldDescs.
ਯ  ⠡   ଠ  㯠   
  .    ⨯ FLDDesc, ᮤঠ
᫥ ଠ:  ,  , ⨯ , ⢮ ᨬ 
, ᬥ饭  ,   ,  .


                        5.5   

樨  ଠ樥 ந室  IDAPI १  , ⮬
। ⥬,  ᯮ짮   㯠    ⠡, 室
⮢  .  ⮢   砥  ᥡ
१ࢨ஢       樠.

樠   室 믮 । ⥬,  ⠢ 
⠡  . 樠  ⢫ 㭪
DbiInitRecord.  㭪 ४⭮ 樠  묨 ﬨ 
ᮮ⢥⢨   ⨯.  ⠡  ଠ Paradox 㭪 DbiInitRecord
ᯮ  樠樨 祭  㬮砭 (᫨ ᫥ 㪠 
⠡).


騩 ਬ  ,   ଠ  ᢮⢠
, १ࢨ஢      ᨢ ਯ஢
   ᠬ ਯ.

DBIResult       rslt;
pCHAR	pRecBuf;
CURProps	curProps;
pFLDDesc	pFldArray;
.
.
.
//砥 ଠ  ᢮⢠ 
rslt=DbiGetCursorProps(hCursor, &curProps);
if (rslt==DBIERR_NONE)
{
	//ࢨ㥬    
	pRecBuf = malloc(curProps.iRecBufSize);
		// ஢塞 १ 㭪樨 malloc
	.
	.
	.
	//砥 ᨢ ਯ஢ 
	pFldArray = (pFLDDesc) malloc(sizeof(FLDDesc) * curProps.iFields);
		// ஢塞 १ 㭪樨 malloc
	rslt = DbiGetFieldDescs(hCursor, pFldArray);
	.
	.
	.
}


                6.     

  ᨫ ஭ 孮 IDAPI -  ॠ 樮
⥩.  ⮩ 楫 ।ᬮ७  㭪樨, 믮騥 ⮫쪮
樮஢, ⠪  㭪樨, ⢫騥 ६ 
樮஢  롮   .


          6.1      .

 IDAPI ।ᬮ७ 㭪樨,  樮   ஬⮪
 ﬨ:  । ࢮ ,  砫 䠩 (DbiSetToBegin); 
 䠩  (DbiSetToEnd); । ࢮ    祭 
(DbiSetToKey).

樮஢   ஬⮪  ﬨ  ⥫쭮
 ணࠬ஢. ਬ, 맮 㭪樨 DbiSetToBegin 
樮  । ࢮ   ⠡. ⥬  
࣠ 横 ࠡ⪨  ᥩ  ⠡   㭪樨
DbiGetNextRecord. ( ᫨    樮஢   , 
横᪨ 맮 㭪樨 DbiGetNextRecord ய⨫  .)


          6.2       .

஬ 㭪権, 樮   ஬⮪  ﬨ,  IDAPI
ᮤঠ 㭪樨,  㪠뢠 ।⢥  . ᫨
ਫ ⮢  ,   㭪樨  ⠪ ⢫
롮 . 設⢮ ⠪ 㭪権  ஢  
㯠 㣨 ਫﬨ.  㤥 ⠢ ஢  
  ਫ     ⮬    ᨨ.

 ਢ ⪮ ᠭ  㭪権.

DbiGetRecord
롮ઠ  (頥  訡, ᫨  樮஢ 
஬⮪  ﬨ).

DbiGetNextRecord
樮   ᫥   ⢫ 롮 ⮩ .

DbiGetPriorRecord
樮   ।   ⢫ 롮 ⮩ .

DbiGetRelativeRecord
樮   ,  ன   ᬥ饭
(⥫쭮  ⥫쭮) ⭮⥫쭮 ⥪饣   
⢫ 롮 ⮩ .

DbiGetRecordForKey
樮        ⢫ 롮 ⮩
.


 ᫥騩 ਬ  ⠭  砫 䠩,  ⥬
⢫ ᬮ ᥩ ⠡:

//⠭   砫 䠩
DbiSetToBegin(hCursor);

//ᬠਢ  ⠡
while(DbiGetNextRecord(hCursor, dbiNOLOCK, pRecBuf, NULL) == DBIERR_NONE)
{
   . . .
}


               6.3     

 ६饭  ⠡栬 㤮  ஥  , 
⥬ ⮡  쭥襬   .  ⠪ 
।⠢ .    ஥  , ஥
࠭     ७ ।⠢.   ᥣ
१ࢨ ᠬ ਫ, ⮬ ⢮   ਭ樯 
࠭祭. IDAPI  ࠢ    㣮  ᭨ 
⭮⥫쭮 .

   ⨯  IDAPI ࠭    .
ࠢ   ࠭ ⮫쪮  ⮬ 砥, ᫨ 
 ⠡쭮. ᫨   ⠡쭠,  㣮 ਫ,
 ⠡,   ன .  室
ଠ  ࣠樨  (⠡쭮 , ࠧ ,
室  ࠭ ) ᮤন  CURProps, 
 맮 DbiGetCursorProps (.    
).  CURProps ᮤন ᫥騥 , 뢠騥 ᢮⢠
:

iBookMarkSize
  室  ࠭  .    
ᥣ १ࢨ ਫ.     ᫥
४祭  㣮 ⨢  (᫥ 맮 DbiSwitchToIndex)!

bBookMarkStable
ࠢ TRUE, ᫨  ন ⠡쭮  FALSE  ⨢
砥

⠡쭮    ⨯ ࠩ ᫥騬 ࠧ:

dBASE
 ᥣ ⠡

Paradox
 ⠡ ⮫쪮, ᫨ ⠡  ࢨ 

SQL
 ⠡ ⮫쪮, ᫨ ⠡  㭨 


                7. ,    

० ᥣ,  ⮣ ⮡ , ஢  㤠 ,
  㢥७  ⮬, :

  , 易  ⠡楩,  ࠢ ;
    ஢ 㣨 짮⥫.

஬ ⮣, ᫨ ਫ ᮡࠥ ஢  , 
 ஢  , ᯮ 㭪樨 롮ન.  ⠭
஢,  ਫ   ᭨ ஢,    㤥
 ⥪ .


                            7.1  

 ⮣, ⮡     ⠡, ਫ  믮
᫥騥 蠣:

1.       맮 㭪樨 DbiInitRecord.

2. ந樠஢  ᮧ     (  
⠡)   㭪樨 DbiPutField.

3.  ᮤন    ⠡, ᯮ 㭪樨
DbiAppendRecord (     ⠡)  DbiInsertRecord
(⠢    ⠡).  ᯮ짮 㭪樨 DbiInsertRecord
ਫ  ஢ ⠢塞 .


                            7.2  

䨪 饩  ⢫ ᫥騬 ࠧ:

1.  ॡ㥬     (⠭ ஢, ᫨
ॡ).

2.  ᮤন        㭪樨
DbiPutField.

3.  ᮤন    ⠡, ᯮ 㭪
DbiModifyRecord.

ਫ  㪠 㤥   ஢   ᫥ 襭
DbiModifyRecord  .


                             7.3  

 饩  ந室 ᫥騬 ࠧ:

1. ⠭   㤠塞 .

2.     㭪樨 DbiDeleteRecord. ᫨ ਫ 
 ,  㤠  㤥 ᪮஢  .

᫥ 㤠   㪠뢠  ஬⮪  ﬨ, 
室  㤠.

 ᥩ   ᮡ  ࠧ ଠ⮢ . 
⠡  ଠ dBASE 㤠   㭨⮦  ⠡   ,
 ਫ  맮 㭪 DbiPackTable.

 ⠡  ଠ Paradox  㤠 , ᫨   ਢ 
襭 楫⭮ ⠡ 痢. ਬ, ᫨   
⠡ 㪠뢠  ,  ᮤন 祭, 易 
稭 ⠡楩,  맮 DbiDeleteRecord  㤠祩 
   .


                     7.4    

IDAPI ।⠢  㭪樨  ,   㤠 ࠧ
᪮쪨 ᥩ:  DbiBatchMove  DbiWriteBlock.

㭪 DbiBatchMove  ᯮ짮  ,  
뤥 ᥩ   ⠡  . 祬 室 ⠡ 
⠡ ⥫   ࠧ ⨯.    ᪮஢
⠡  ⨯   ⠡ 㣮 ⨯.  㭪 DbiBatchMove ⠪
 ᯮ짮  ⥪⮢ ࠩ஬    ᯮ  /
 㣮 ন ଠ.


                           8.   BLOB 

 ନ BLOB  (让  쥪) 筮  让
ᨢ ଠ樨 (ਬ ࠦ,  ,...), 室騩  ஬
 . IDAPI ।⠢ ᯥ樠 ।⢠  ࠡ  BLOB
ﬨ.

 롮ન ᥩ, ᮤঠ BLOB , ࠧࠡ稪  ᯮ짮 
 맮,     ᥩ.   ࠡ⪨ ᠬ BLOB IDAPI
।⠢  ᯥ樠 㭪権 ( DbiOpenBlob, DbiGetBlob,  .).
ᬮਬ ᭮  ࠡ  BLOB ﬨ.


                           8.1  BLOB 

।  ⢨  BLOB  ਫ   BLOB . 
⮣ ਫ 뢠 㭪 DbiOpenBlob  ।  ⢥ 室
ࠬ஢ 䨪 , 㪠⥫   , 浪 
BLOB     ࠢ 㯠. 㭪 DbiOpenBlob 
䨪 ⮣ BLOB    .  쪮 ᫥ ᯥ譮
맮 㭪樨 DbiOpenBlob ਫ  ᯮ짮 㣨 㭪樨,
ࠡ騥  BLOB  .

। ⨥ BLOB    ⥭/ ४ ஢
.  ࠭ ⢨ ஡  ⮬ 砥, ᫨ 㣮
ਫ ⠥    ᠬ .


                       8.2    BLOB 

 BLOB   稢  䨪, ਫ  ।
ࠧ BLOB    맮 DbiGetBlobSize  ⥬  
(DbiGetBlob). 㭪 DbiGetBlob (⥭   BLOB  ) 
   BLOB .  ⮣ ਫ 㪠뢠 ᬥ饭
⭮⥫쭮 砫 BLOB  (ࠬ iOffSet)   饩 樨
 (iLen). ᫥ 믮 㭪 DbiGetBlob 頥 ⢮
⠭ .  ᫮    ࠬ iLen, ᫨ 
⥭ ⨣  BLOB .

 IDAPI  Windows 3.1    ᨢ   祬
65, ⮬ 訥 BLOB  ਤ 뢠 ⥬  맮
㭪樨 DbiGetBlob.


                          8.3  BLOB 

    BLOB  ਫ  ᯮ짮 㭪
DbiPutBlob,  ⭠ 㭪樨 DbiPutField   .
㭪樨 DbiPutField 室 । 㪠⥫   ,  
  ᬥ饭  BLOB ,  ண 筥 . ਫ
    㦥   BLOB , ⠪ 
      BLOB .

᫥    BLOB  , ᮤঠ  BLOB ,
  ⠢  ⠡ ⠪ ,  筠 .  ⮫쪮
室  ᥭ  ⠡, ਫ  ᢮ BLOB
 맮 DbiFreeBlob.

騩 ਬ  ࠡ BLOB :

DBIResult	rslt;
pCHAR	blobBuf;
UINT32	blobSize, byteRead;
//⠥ ⥪ 
DbiGetRecord(hCursor, dbiNOLOCK, pRecBuf, NULL);

//뢠 BLOB 
rslt = DbiOpenBlob(hCursor, pRecBuf, 3, dbiREADWRITE);
if(rslt == DBIERR_NONE)
{
  // ࠧ BLOB    ⥬ ⠥ .
  //।  ࠧ BLOB    65
  DbiGetBlobSize(hCursor, pRecBuf, 3, &blobSize);
  blobBuf = malloc(blobSize);
  DbiGetBlob(hCursor, pRecBuf, 3, 0, blobSize, (pBYTE) blobBuf, &byteRead);
  .
  .
  .
  // ᢮ BLOB  
  DbiFreeBlob(hCursor, pRecBufr, 3);
  // ᢮ 
  free(blobBuf);
}


                            9.  

IDAPI ন 楯 易 ஢,   ࠧࠡ稪
 易  ⠡ -ਭ樯 --.  ࠬ
 ⠡   ⠭ , ᫨ ⠡  饥 ,
஥     稭 ⠡.  뢠 
஢ ⠢  稭 ⠡  , ᮤঠ騥
祭 , ᮢ饥  祭ﬨ  ⥪饩   ⠡.
।, ਬ,   ⠡ 稪  稭 ⠡
  饥   稪.  ᫨    ⥪饩 
 ⠡ ࠢ, ਬ 13, ⮣  稭 ⠡ 㤥
 ⮫쪮 , ⭮騥  稪  13.   ⠡
  ᪮쪮 稭 ⠡.  稭 ⠡ 
易 ⮫쪮   .  稭 ⠡  ६
   㣮 稭 ⠡. IDAPI  ⠭
  ⠡栬  ⨯ (  ⢮ ᮮ⢥騩
ࠩ).


                           9.1  

 뢠  ⠡ ਫ  த ᫥騥 樨:

1.    ⠡.  稭 ⠡  
⨢ ⥪騩   , ஥ 㤥 ᯮ짮  뢠.

2. ⮢   뢠.  ⮣ ਫ 뢠 㭪
DbiBeginLinkMode    . 㭪 DbiBeginLinkMode 頥
 .

3. 易   맮 㭪樨 DbiLinkDetail.  뢠 
    稭 ⠡  ᮢ.


                               10. 

࠭樨  믮   SQL ଠ,  ন
IDAPI.  IDAPI  ⮫쪮  ࠭樨  ⨢  ६ 
裡  SQL . ⪠   ࠭  襭 ࢮ
祭  訡.


                        10.1  -

 SQL 樨 IDAPI 믮  ⥪ ࠭樨.  ᫨ ਫ
  믮 ࠭樨, SQL ࠩ ࠢ ࢥ஬ १ ࠭樨
⭮  ਫ. ભ  ࠭樨 -㬮砭 믮
⮫쪮  SQL ࢥࠬ  ⮫쪮 ᫨ ਫ   ᯮ
࠭樨.


                     10.2   

  ᯮ짮 ࠭権, IDAPI ।⠢ 㭪樨 DbiBeginTran
 DbiEndTran.


                                 11. 

孮 IDAPI ।⠢ ᪨ ਫ 
ᯮ짮 SQL  QBE   㯠   ࢥ  ⠪  
 ⠡栬 dBASE  Paradox. IDAPI ᮤন 㯯 㭪権
ᯥ稢 । SQL/QBE ᮢ.


                        11.1  SQL 

 裡  ⠭묨  (dBASE, Paradox), IDAPI ।⠢
⢮ SQL.  ⢮  ᯮ짮  ࣠樨 裡
⠭   ࢥ묨 SQL ⠡栬 ( ⮬   ⠭
ᮮ⢥騩 SQL ࠩ).  裡 ⮫쪮  SQL , IDAPI 
ᯮ짮 த  ࢥ ⥬, ⠪  Oracle  Sybase.


                        11.2  QBE 

QBE ᯥ稢      Paradox  dBase, ⠪  
ࢥ .


                       11.3   

 ᯮ  ᮢ ਫ  ᯮ짮 㭪
DbiQExecDirect,   ॡ ।⥫ ⢨.  㭪
ࠧ 믮   頥 䨪 , 㪠뢠饣 
祭 १.  맮 㭪樨 DbiQExecDirect, ਫ 
㪠 䨪  ,   (SQL  QBE)  ᠬ .

騩 ਬ 뢠,  믮 SQL    㭪樨
DbiQExecDirect:

DBIResult       rslt;
hDBICur	hCur;
bBYTE	szQuery =	Select t.name, t.age
					from EMPLOYEE 
					where t.age > 30 
					and t.salary > 1000000 ;

rslt = DbiQExecDirect(hDB, qrylangSQL, szQuery, &hCur);


                      11.4    

᫨ ਫ 室  ⨯ १饩 ⠡  
ࠬ ,   믮   蠣. 믮  
蠣 砥  ᥡ:

1. ⮢   祭 䨪  (DbiQPrepare)

2.  ࠬ஢  (DbiSetProp)

3. 믮 ⮢  (DbiQExec)

4. ᢮ ᮢ (DbiQFree)


                               12. 

 ࠬ        孮.
     IDAPI   䠪,  ⠪  ⥬
㯠   , Paradox, dBase, Delphi,    孮.


ਠ ⮢  -業 -ࢥ 孮 
Borland  ᭮ 孨᪮ 㬥樨.

䮭  ࠢ: (095)-535-0319
䠪/⥫.:535-5349
E-mail: thomas@bor.compnet.ru

- 10 -


