Проектирование схемы БД в среде ERwin. Проблема избыточности данных. Проблема обновления данных. Проблема удаления данных., страница 24

DWORD utime; 

DWORD type; 

if (RegQueryValueEx(hk, "TimeToUpload", 0, &type, (LPBYTE) &utime,

&dw5))                      

{

RegSetValueEx(hk1, "TimeToUpload", 0, REG_DWORD, (LPBYTE) &utime, sizeof(DWORD));

}

RegCloseKey(hk1); 

// ------------ конец считывания пароля с реестра ------------------------ username=(text *) un; password=(text *) pwd; server=(text *) srv;

char *uploadn, *fd, *direct, *duration, *anum, *bnum, *sk; sb4 uploadnlen, directlen, durationlen, numlen, sklen, fdlen;

//  Connect to ORACLE.

if (olog(&lda, (ub1 *)hda, username, -1, password, -1,               server, -1, (ub4)OCI_LM_DEF))

{

printf("Connecting ERROR");

}

else printf("Connected to ORACLE as %s\n", username);

//and open a cursor

if (oopen(&cda1, &lda, (text *) 0, -1, -1, (text *) 0, -1))

{

printf("Opening cursor ERROR\n");

}

// Parse the INSERT statement.      if (oparse(&cda1, insert, (sb4) -1, FALSE, (ub4) VERSION_7))

{

printf("Parsing ERROR\n");

}

CDR_record Ass1;

uploadnlen=64;                       //размер поля uploadn в таблице calls directlen=16;  //размер поля direct в таблице calls

durationlen=64;

//размер поля duration в таблице calls

numlen=64;      

//размер поля anum & bnum в таблице calls

sklen=64;         

//размер поля sk в таблице calls

fdlen=64;         

//вообще говоря это размер fd, но на самом деле это

лажа 

_strtime(tmpbuf);     printf("Start at %s ", tmpbuf);

_strdate(tmpbuf);     printf("%s   \n", tmpbuf); while(!kbhit())

{

Sleep(1000*60*utime);

//--------- подсчет числа записей в файле очереди------------

FILE *rqfile;

if          ((rqfile=fopen(FileNameRQ,"r+t"))==NULL)

{

printf("Error while open file %s!\n",FileNameRQ);

return 0;

}

CDRNum=0;

while(!feof(rqfile))

{

fgets(CDRnameTmp, len+1,rqfile);

fgets(qqq, 2,rqfile);

CDRNum=CDRNum+1;

}

fclose(rqfile);

//printf("%d\n",CDRNum); getch();

//--------- конец подсчета числа записей в файле очереди------ for (i=0;i<CDRNum;i++)

{

//----- вычленение имени cdr-файла из файла очереди ---------------

FILE *rqfile;

if

{

((rqfile=fopen(FileNameRQ,"r+t"))==NULL)

printf("Error while open file %s!\n",FileNameRQ);

}

return 0;

FILE *rqtmp;

if

{

((rqtmp=fopen(FileNameRQTmp,"wt"))==NULL)

printf("Error while open file %s!\n",FileNameRQTmp);

return 0;

}

strcpy(CDRname, "noname_00000"); rewind(rqfile);

fgets(CDRname, len+1,rqfile);   //тут мы впервые читаем имя CDR-файла fgets(qqq, 2,rqfile); count1 = 0;           

while(!feof(rqfile))

{

if(count1!=0){              fputs("\n", rqtmp);}

fgets(CDRnameTmp, len+1,rqfile);

fgets(qqq, 2,rqfile);

fputs(CDRnameTmp, rqtmp); count1=count1+1;

} fclose(rqfile); fclose(rqtmp);

DeleteFile(FileNameRQ); rename(FileNameRQTmp, FileNameRQ);

//----- конец вычленения имени cdr-файла из файла очереди ---------

//----------------- открытие очередного файла CDR ------------------

FILE *cdr_file;

if          ((cdr_file=fopen(CDRname,"rt"))==NULL)

{

_strtime(tmpbuf);

printf("%s ", tmpbuf);     _strdate(tmpbuf);     printf("%s   ", tmpbuf);

printf("RQ file is empty!\n");  return 0;

} count=0; while(!feof(cdr_file)){  count=count+1;