⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 data_store.ec

📁 这是一个使用 informix esql/c 技术开发的银行程序的部分代码。
💻 EC
字号:
#include </u/ebcsav/include/sav.h>$include sqlca;$include sqlda;void mess();short menu();short menusel();void addspace();char y_n();#include </u/ebcsav/include/begin>FILE *pf;short num_c1,num_c2,dv0,dv;char c;static char *title[4]={"0. 退      出  ","1.  数据备份   ","2.  数据恢复   ",  "3. 外设选择    "};static char *remind[4]={"  退出本程序  ",  "  为保障数据安全, 将全部数据写入磁带或软盘保存  ",  "  从后备磁带或软盘装入全部数据  ","  选择数据后备或恢复所使用的驱动器  "};static short menu_row[4]={3,3,3,3},menu_col[4]={10,25,40,55};static char *title1[9]={"0:0号盘 360K","1:1号盘 360K","2:0号盘 1.2M",  "3:1号盘 1.2M","4:0号盘 720K","5:1号盘 720K","6:0号盘1.44M",  "7:1号盘1.44M","8:  磁  带  "};static char *remind1[9]={"  存取数据使用 5英寸 360KB 可引导软盘驱动器 ",  "  存取数据使用 5英寸 360KB 非引导软盘驱动器  ",  "  存取数据使用 5英寸 1.2MB 可引导软盘驱动器  ",  "  存取数据使用 5英寸 1.2MB 非引导软盘驱动器  ",  "  存取数据使用 3英寸 720KB 可引导软盘驱动器  ",  "  存取数据使用 3英寸 720KB 非引导软盘驱动器  ",  "  存取数据使用 3英寸 1.44MB 可引导软盘驱动器 ",  "  存取数据使用 3英寸 1.44MB 非引导软盘驱动器  ",  "  存取数据使用磁带驱动器  "};static short menu_row1[9]={6,7,8,9,10,11,12,13,14},  menu_col1[9]={55,55,55,55,55,55,55,55,55};char s[38];move(0,27);printw("数  据  后  备  与  恢  复");if((pf=fopen("/u/ebcsav/data/dv_setup","r"))==NULL)  {    pf=fopen("/u/ebcsav/data/dv_setup","w");    dv0=68;    fwrite(&dv0,2,1,pf);  }else fread(&dv0,2,1,pf);fclose(pf);dv=dv0%10;num_c1=num_c2=0;while(1)  {    move(2,0);    clrtobot();    block(1,0,22,80);    block(2,3,3,74);    num_c1=menu(title,remind,menu_row,menu_col,3,num_c1);    num_c1=menusel(title,remind,menu_row,menu_col,3,num_c1,0);    switch(num_c1)      {        case 0:          endwin();          return;        case 1:          if((system("isql -s saving -qr /u/ebcsav/include/backup.sql"))==0)          {            clear();            move(7,27);            addstr("数据库信息转入文件成功.");          }          else            {              clear();              move(7,27);              addstr("数据库信息转入文件失败, ");              mess((short)3);              getch();              break;            }           strcpy(s,"tar c8 /u/ebcsav/tmp /u/ebcsav/data");          s[5]=dv+48;          move(9,10);          printw("请将介质(%s)插入指定的驱动器, ",title1[dv]+2);          mess((short)4);          move(10,10);          printw("注意: 介质上原有的信息将被清除!");          getch();          move(11,10);          printw("正在拷盘,请稍等...");          refresh();          move(12,10);          if((system(s))==0) addstr("文件写入介质成功. ");          else addstr("文件写入介质失败! ");          mess((short)3);          getch();          break;        case 2:          move(7,13);          addstr("该操作将首先清除数据库中原有的全部信息, 是否进行(Y/N) ");          c=y_n('Y','N','N');          if(c=='N') break;          $ database saving;          $ delete from change_acc;          $ delete from cred_count;          $ delete from credential;          $ delete from exch_rate;          $ delete from f_annual;          $ delete from f_blot;          $ delete from f_dai;          $ delete from f_dem_sch;          $ delete from f_demand;          $ delete from f_fix;          $ delete from f_month;          $ delete from f_quarter;          $ delete from hang;          $ delete from inter_rate;          $ delete from l_fix;          $ delete from maint_rate;          $ delete from open_acc;          $ delete from r_annual;          $ delete from r_blot;          $ delete from r_cal_sch;          $ delete from r_call;          $ delete from r_dai;          $ delete from r_dated;          $ delete from r_dated_sch;          $ delete from r_dem_sch;          $ delete from r_demand;          $ delete from r_fix;          $ delete from r_month;          $ delete from r_quarter;          $ delete from subs_cred;          $ close database;          strcpy(s,"tar x8 /u/ebcsav/tmp /u/ebcsav/data");          s[5]=dv+48;          move(9,10);          printw("请将介质(%s)插入指定的驱动器, ",title1[dv]+2);          mess((short)4);          move(10,24);          printw("注意: 介质上应存有备份数据文件!");          getch();          move(12,10);          if((system(s))==0) addstr("文件从介质读入成功. ");          else            {              addstr("文件从介质读入失败! ");              mess((short)3);              getch();              break;            }          move(14,10);          if((system("isql -s saving -qr /u/ebcsav/include/restore.sql"))==0)            addstr("恢复数据库信息成功.");          else addstr("恢复数据库信息失败, ");          mess((short)3);          getch();          break;        case 3:          block(5,53,11,16);          num_c2=menu(title1,remind1,menu_row1,menu_col1,8,dv);          num_c2=menusel(title1,remind1,menu_row1,menu_col1,8,num_c2,0);          pf=fopen("/u/ebcsav/data/dv_setup","w");          dv=num_c2;          dv0=dv0/10*10+num_c2;          fwrite(&dv0,2,1,pf);          fclose(pf);      }  }#include </u/ebcsav/include/end>#include </u/ebcsav/include/menu>#include </u/ebcsav/include/menusel>#include </u/ebcsav/include/mess>#include </u/ebcsav/include/addspace>#include </u/ebcsav/include/y_n>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -