Code: Select all
// Обучение
#include "ads.ch"
#include "adsdbe.ch"
#include "dcdialog.ch"
#include "dccursor.ch"
#include "Gra.ch "
#include "xbp.ch "
#pragma library( "XBTBASE1.LIB" )
#pragma library( "XBTBASE2.LIB" )
#pragma library( "dclipx.lib " )
// Загрузить ADSDBE как стандартный механизм базы данных
PROCEDURE DbeSys
IF !DbeLoad( "ADSDBE" )
Alert( "ADSDBE could not be loaded!" ) // ADSDBE не был загружен
ENDIF
DbeSetDefault( "ADSDBE" )
RETURN
PROCEDURE Main
// ############################################################
// Соединиться с сервером базы данных
LOCAL cConnect := "DBE=ADSDBE;SERVER=\\IP:Port\DATA\"
LOCAL oSession := DacSession():new( cConnect )
IF !oSession:isConnected()
MsgBOX( "Соединение с ADS (сервером) не может быть установлено !!!" )
QUIT
ELSE
MsgBOX( "Соединение с ADS (сервером) установлено успешно !!!" )
ENDIF
DIRCHANGE("\\IP:Port\DATA\") // Перейти в папку с базами данных на сервере
* Открыть транзакцию ###############################################
oSession:beginTransaction()
****** Если БД Classes.dbf нет, то создать ее
cFileName := "Classes"
aStructure := { { "KOD " , "N", 15, 0 }, ;
{ "NAME " , "C", 65, 0 }, ;
{ "KOD_OLD " , "N", 15, 0 }, ;
{ "MARK " , "C", 1 , 0 }, ;
{ "KOD_PRP " , "N", 15, 0 }, ;
{ "INT_INF " , "N", 9 , 5 }, ;
{ "SUM_II " , "N", 17, 5 }, ;
{ "SII_PROC" , "N", 7 , 3 }, ;
{ "SII_GIST" , "C", 40, 0 }, ;
{ "RANG " , "N", 15, 0 }, ;
{ "ABS " , "N", 15, 0 }, ;
{ "PERC_FIZ" , "N", 7 , 3 }, ;
{ "UR_MERL " , "N", 4 , 0 } }
DbCreate( cFileName, aStructure )
CLOSE ALL
USE Classes SHARED NEW
APPEND BLANK
REPLACE Kod WITH 1
REPLACE Name WITH "Привет"
* Закрыть транзакцию ###############################################
oSession:commitTransaction()
// ############################################################
// Закрыть базы данных и отсоединиться от сервера.
DbCloseAll()
oSession:disconnect()
RETURN