- 论坛徽章:
- 0
|
找到方法了
自己写出来了 拿出来大家分享
#--ClASS PrpDmain
#--DESC 对数据库的增删改
#--AUTOER xx
DATABASE db01 --对程序变量的定义
DEFINE pnum LIKE tb01.num,
pnam LIKE tb01.nam,
peng LIKE tb01.eng,
pmat LIKE tb01.mat,
ppol LIKE tb01.pol,
ppro LIKE tb01.pro,
ptal LIKE tb01.tal
MAIN
DEFINE answer CHAR(1),
ok SMALLINT
LET ok=1
WHILE ok
MESSAGE "i=插入 q=查询 u=修改 d=删除 e=退出"
PROMPT "请输入一个字符,选择所需操作:" FOR answer
CASE answer
WHEN 'i'
CALL f_insert()
WHEN 'q'
CALL f_query()
WHEN 'u'
CALL f_update()
WHEN 'd'
CALL f_delete()
WHEN 'e'
LET ok=0
OTHERWISE
ERROR"非法操作"
END CASE
END WHILE
END MAIN
FUNCTION f_insert() --实现插入功能
PROMPT"(插入)请输入考号:" FOR pnum
PROMPT"(插入)请输入姓名:" FOR pnam
PROMPT"(插入)请输入外语成绩:" FOR peng
PROMPT"(插入)请输入数学成绩:" FOR pmat
PROMPT"(插入)请输入政治成绩:" FOR ppol
PROMPT"(插入)请输入专业成绩:" FOR ppro
LET ptal=peng+pmat+ppol+ppro
INSERT INTO tb01
(num,nam,eng,mat,pol,pro,tal)
VALUES
(pnum,pnam,peng,pmat,ppol,ppro,ptal)
CALL f_dspline()
ERROR "插入操作完成"
END FUNCTION -- # f_insert()
FUNCTION f_query() --实现查询功能
PROMPT "(查询)请输入编号:" FOR pnum
SELECT num,nam,eng,mat,pol,pro,tal
INTO pnum,pnam,peng,pmat,ppol,ppro,ptal
FROM tb01
WHERE num=pnum
IF status!=NOTFOUND
THEN
CALL f_dspline()
ERROR "查询操作完称"
ELSE
LET pnum=" "
LET pnam=" "
LET peng=" "
LET pmat=" "
LET ppol=" "
LET ppro=" "
LET ptal=" "
ERROR "没有找到"
END IF
END FUNCTION -- #f_query()
FUNCTION f_update() -- 实现修改功能
PROMPT"(修改)请输入考号:" FOR pnum
PROMPT"(修改)请输入姓名:" FOR pnam
PROMPT"(修改)请输入外语成绩:" FOR peng
PROMPT"(修改)请输入数学成绩:" FOR pmat
PROMPT"(修改)请输入政治成绩:" FOR ppol
PROMPT"(修改)请输入专业成绩:" FOR ppro
LET ptal=peng+pmat+ppol+ppro
UPDATE tb01
SET (num,nam,eng,mat,pol,pro,tal)=
(pnum,pnam,peng,pmat,ppol,ppro,ptal)
WHERE num=pnum
CALL f_dspline()
ERROR "修改操作完成"
END FUNCTION -- #f_update()
FUNCTION f_delete() --实现删除功能
PROMPT "(删除)请输入编号:" FOR pnum
DELETE FROM tb01 WHERE num=pnum
LET pnum=" "
LET peng=" "
LET pmat=" "
LET ppol=" "
LET ppro=" "
LET ptal=" "
CALL f_dspline()
ERROR "删除操作完成"
END FUNCTION -- #f_delete()
FUNCTION f_dspline() --屏幕显示位置定义
DISPLAY " " AT 10,20
DISPLAY " " AT 11,20
DISPLAY " " AT 12,20
DISPLAY " " AT 13,20
DISPLAY " " AT 14,20
DISPLAY " " AT 15,20
DISPLAY " " AT 16,20
DISPLAY"编号=",pnum AT 10,20
DISPLAY "姓名=",pnam AT 11,20
DISPLAY "英语成绩=",peng AT 12,20
DISPLAY "数学成绩=",pmat AT 13,20
DISPLAY "政治成绩=",ppol AT 14,20
DISPLAY "专业成绩=",ppro AT 15,20
DISPLAY "总成绩=", ptal AT 16,20
END FUNCTION |
|