Показать сообщение отдельно
Старый 18.05.2004, 17:59   #1  
Rungart is offline
Rungart
Участник
 
491 / 12 (1) ++
Регистрация: 13.01.2003
Адрес: Украина
Вопрос: Как соединится из Navision с внешней БД по ODBC.
Ответ : Пример соединения с внешней БД из Navision. В качестве примера использовалась база TestDB.mdb.

<div class='CALtop'>C/AL</div><div class='CAL'>
ADOConn    Automation   'Microsoft ActiveX Data Objects 2.7 Library'.Connection
ADOrs      Automation   'Microsoft ActiveX Data Objects 2.7 Library'.Recordset
ConnStr        Text        200
AnzCount       Text        30
OpenMethod     Integer
LockMethod     Integer
Name           Text        200
Str            Text        200


// Test ODBC-Connector
OpenMethod := 2; // 1=adOpenKeyset; 2=adOpenDynamic; 3= adOpenStatic
LockMethod := 3; // 1=dLockreadonly; 2=adLockPessimistic; 3=adLockOptimistic; 4=adLockBatchOptimistic
CREATE(ADOconn);
ConnStr := 'PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source=D:\TestDB.mdb';
ADOconn.Open(ConnStr);
CREATE(ADOrs);

ADOrs.Open('Select Name,Street from T1',ADOconn,OpenMethod,LockMethod);
ADOrs.MoveFirst;
Name := ADOrs.Fields.Item('Name').Value;
Str := ADOrs.Fields.Item('Street').Value;
// MESSAGE('Name %1 - Street %2', Name, Str);

ADOrs.MoveNext;
Name := ADOrs.Fields.Item('Name').Value;
Str := ADOrs.Fields.Item('Street').Value;
// MESSAGE('Name %1 - Strasse %2', Name, Str);
// Update current data
ADOrs.Update('Street','Testroad');
ADOrs.Update('Name','Anyone');


// Insert new Data
ADOrs.AddNew;
ADOrs.Update('Strasse','New Street Text');
ADOrs.Update('Name','New name');

ADOrs.Close;
ADOconn.Close;
CLEAR(ADOrs);
CLEAR(ADOconn);
</div>
__________________
Русский человек славится своим умением находить выход из самых трудных ситуаций, но еще более он славится своим умением находить туда вход.