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

{

RegSetValueEx(hk, "Password", 0, REG_EXPAND_SZ, (LPBYTE) pwd, strlen(pwd)+1);

}

if (RegQueryValueEx(hk, "Server", 0, 0, (LPBYTE) srv, &dw3))                         {

RegSetValueEx(hk, "Server", 0, REG_EXPAND_SZ, (LPBYTE) srv, strlen(srv)+1);

}

RegCloseKey(hk); 

// ------------ конец считывания пароля с реестра ------------------------

PIN_card Ass;

printf("Enter a number of card you wanna generate:");  scanf("%d", &pin_num);

printf("Enter a card nominal in Russian Roubles:");

scanf("%d", &Ass.nominal);

printf("Please enter PIN-code mask:");

scanf("%f", &mask1); mask=mask1;  printf("%f\n", mask);              while (mask1>1){              mask1=mask1/10;                                 category=category+1;

}

printf("Category=%d\n", category); srand(start_point);

printf("Press any key to continue.\n");

while(!kbhit())

{

rand();

}

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

FILE *pinfile;

if         ((pinfile=fopen("pin.txt","w"))==NULL)

{

printf("Error while open file pin.txt!\n");

return;

}

for (int j=0; j<pin_num; j++) {

printf("%d", (int) mask);          fprintf(pinfile, "%d", (int) mask);                   for (int i=category; i<num; i++) {                    result[i]=(rand() % 10);                        printf("%d", result[i]);                          fprintf(pinfile, "%d", result[i]);

}

printf("\n");

if (j!=(pin_num-1)) {    fprintf(pinfile, "\n");

}

}

fclose(pinfile);

//--------- конец запись в файл пинов карточек ------

//---------------------------------- про базу...коннект, курсор, парсинг           --------------- username=(text *) un; password=(text *) pwd; server=(text *) srv; char *pin;//, *nominal; sb4 pinlen, nominallen; sword nominal; nominal=Ass.nominal; pinlen=num; nominallen=3;    //  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");

}

//------------------------------------------------ конец про базу -------------------

// ----------- чтение из файла пинов ---------------------

FILE *pinfile1;

if          ((pinfile1=fopen("pin.txt","r+t"))==NULL)

{

printf("Error while open file pin.txt!\n");

return;

}

//CDRNum=0;

while(!feof(pinfile1))

{

fgets(Ass.PIN_code, num+1,pinfile1);

fgets(qqq, 2,pinfile1);

//

printf("%s\n",Ass.PIN_code);

pin=Ass.PIN_code;

//  Bind the placeholders in the INSERT statement.      if (

obndrv(&cda1, (text *) ":pin",                        -1, (ub1 *) pin,                        pinlen+1,

STRING_TYPE, -1, (sb2 *) 0, (text *) 0, -1, -1) || obndrv(&cda1, (text *) ":nominal", -1, (ub1 *) &nominal,

(sword) sizeof (nominal), INT_TYPE, -1,

(sb2 *) 0, (text *) 0, -1, -1)

)

{

printf("Binding ERROR\n");

}

//execute the INSERT statement

if(oexec(&cda1))

{

printf("Insert Executing ERROR\n");

} //commit; if(ocom(&lda))

{

printf("Commiting ERROR\n");

}

}

fclose(pinfile1);

// ------------ конец чтения из файла пинов --------------         printf("Press any key to exit!!!!!\n"); getch();

return;

}