📄 data_store.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 + -