免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3489 | 回复: 3
打印 上一主题 下一主题

师兄们,求informix-4gl的能实现查询功能的代码 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-23 13:44 |只看该作者 |倒序浏览
师兄们,求informix-4gl的能实现查询.添加.删除功能的代码 谢谢了.正在努力学习中.
  谁能给我回复发一下.万分感谢

论坛徽章:
0
2 [报告]
发表于 2007-05-28 16:42 |只看该作者

找到方法了

自己写出来了 拿出来大家分享

   #--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

论坛徽章:
0
3 [报告]
发表于 2007-05-28 16:43 |只看该作者
数据库的定义在这里
MAIN
CREATE DATABASE db01
CREATE TABLE tb01
(
num SMALLINT,  #学号
nam CHAR(6),   #姓名
eng SMALLFLOAT #英语成绩
mat SMALLFLOAT #数学成绩
pol SMALLFLOAT #政治成绩
pro SMALLFLOAT #专业成绩
tal SMALLFLOAT #总成绩
)
CREATE INDEX tb01idx ON tb01 (num)
GRANT CONNECT TO public
END MAIN

论坛徽章:
0
4 [报告]
发表于 2007-06-20 10:40 |只看该作者
给个邮箱吧!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP