您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 2003年秋江苏省VFP上机考试试卷03
一、项目、数据库和表操作(12分)打开软盘根目录下的项目文件TEST,在该项目中已有一数据库SJK。1.按如下要求修改SJK中学生(KC)表的结构:(1)设置课程名(kcm)字段的标题:课程名称。(2)设置课程代号(kcdh)字段的输入掩码:课程代号只能是两位数字字符。(3)设置课时数(kss)字段的显示类为微调控件。(4)创建一个普通索引kx,要求先按kss字段排序,kss相同的再按学分(xf)字段排序。(5)为KC表创建记录级有效性规则:课时数(kss)不能少于学分(xf)。2.修改KC表中所有记录的课时数(kss)和学分(xf)字段的值,方法是:所有必修课(BXK字段的值为.T.)的课时数和学分均增加1。Updatekcsetkss=iif(bxk=.t.,kss+1,kss+0)Updatekcsetxf=iif(bxk=.t.,xf+1,xf+0)3.向KC表中增加一条课程代号(kcdh)为“26”的记录。insertintokc(kcdh)values(26)??4.已知数据库SJK的存储过程中有一自定义函数kc_del_tri(),函数的功能是:对于打开的KC表,如果当前记录在成绩(CJ)表或任课(RK)表中有相关记录,则返回.T.,否则返回.F.。设置KC表的删除触发器,要求如果KC表的当前记录在成绩表或任课表中有相关记录,则禁止删除。5.已知KC表已存在主索引kcdh,索引表达式为kcdh,成绩(CJ)表已存在普通索引cjkcdh,索引表达式为kcdh。以KC表为主表,CJ表为子表按kcdh建立永久关系,并设置它们之间的参照完整性:更新级联。二、设计查询(8分)在TEST项目中已存在查询CHAXUN,且在SJK中的包含一个名为XSCJVIEW的视图,该视图中包含了每个学生所学课程的情况。按如下要求修改该查询:基于XSCJVIEW视图KC表统计各学生所学必修课的门数和总学分。其中学生所学课程的学分必须当成绩(cj)在60分或60分以上时才能取得,否则该课程的学分为0。要求输出字段为:xh、xm、门数、总学分,查询结果按学号升序排序。三、设计菜单(5分)项目TEST中已存在菜单MENUA,按如下要求修改菜单,完成后的运行效果如图1所示。1.为“数据录入”菜单栏下的“教师信息录入”菜单项创建快捷键“CTRL+L”。2.在“数据查询”创建子菜单“学生档案查询”和“学生成绩查询”,并用分隔线隔开。3.为“学生档案查询”菜单项设置SQL命令,要求当执行该菜单项时在浏览窗口显示学生(XS)表中所有的学生的学号(xh),姓名(xm)和出生日期(csrq)三个字段的内容。selectxh,xm,csrqfromxsbrowse4.为“学生档案查询”菜单项设置提示信息:“按学号查询学生的成绩”,要求当选择“学生成绩查询”菜单项时,在状态栏中显示该提示信息。??5.将上述菜单插入到系统菜单的“编辑”菜单之后。四.设计表单(10分)TEST项目中已经存在菜单FORMA,该表单用来进行系统登录。已知A盘根目录下存在表文件USER,该表用来存放登录用户的工号(no)、姓名(name)、职务(title)、和口令(password)。根据下列要求对表单进行修改,完成以后运行表单,效果如图2所示。1.设置窗口的标题为“系统登录”。2.使姓名和年月下拉列表框只可选择,不可输入。3.将“职务”文本框置为废止状态。4.姓名下拉列表框显示的内容为用户姓名,其RowSourceType为“3-SQL语句”,请设置RowSource属性。5.假如USER表中姓名(name)字段的值不重复,且已经按姓名建立了一个普通索引name,索引表达式为name,当用户点击“确定”按钮时,要验证用户输入的口令的合法性:若口令输入正确则关闭该登录窗口;若口令输入不正确,则提示用户重新输入,并将口令文本框中的内容置空,然后将光标停留在口令文本框中。根据上述要求完善“确定”按钮的Click事件。五.程序改错(5分)下列程序的功能是计算一个英文句子中包括几个英文单词(假设各单词间以空格或标点符号分隔)。其基本算法是首先在字符串左边加一个空格,然后对字符串中的每个字符依次进行如下的处理:如果该字符为英文字母,且左边的字符不是英文字母,则英文单词个数加1。要求:1.项目中有一个程序文件PCODE,将下列程序输入到其中并进行修改。2.在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。cString=’AmodemisadevicethatconnectsyourcomputertotheInternet.’cString=SPACE(1)+cSringnCount=0FORn=1ROLEN(cSrring)c=SUBSTR(cSrring,1,n)IFBETWEEN(c,’A’,’Z’)ORBETWEEN(c,’a’,’z’))c=SUBSTR(cString,n-1,1)IF(BETWEEN(c,’A’,’Z’)ORBETWEEN(c,’a’,’z’))nCount=nCount+1ENDIFENDIFENDFORWAITWINDOWS’英文单词个数为’+STR(nCount)
本文标题:2003年秋江苏省VFP上机考试试卷03
链接地址:https://www.777doc.com/doc-3106634 .html