电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

VFP数据库论文

来源:火烈鸟作者:开心麻花2025-09-191

VFP数据库论文(精选10篇)

VFP数据库论文 第1篇

既然VFP的数据库功能已经被很多人所了解, 所以现在我就想谈谈VFP的非数据库应用。

服务器对于每一个公司来说都是很重要的, 因为里放着大量公司的数据, 如何保证服务器的安全不被外来程序所入侵就显得很重要了。我们的处理方法就是在保证服务器正常的情况下先记录着服务器运行的所有程序和进程, 服务器正式上线后就是这份记录为原本, 发现与原本不同程序或者进程在服务器里运行就要自动提示, 提示让服务器管理员来进行核查。先看一下实例:

DECLARE integer LoadLibrary IN WIN32API string&&载入指定的动态链接库

DECLARE integer FreeLibrary IN WIN32API integer&&释放指定的动态链接库

DECLARE integer GetProcAddress IN WIN32API integer hModule, string procname

DECLARE integer GetProcessHeap IN WIN32API&&获取和调用过程的堆句柄

DECLARE integer HeapAlloc IN WIN32API integer hHeap, integer dwFlags, integer dwBytes

DECLARE integer HeapFree IN WIN32API integer hHeap&&, integer dwFlags, integer lpMem

DECLARE integer GetWindowText IN WIN32API integer, string@, integer&&获得窗口名

DECLARE integer EnumChildWindows IN WIN32APIinteger hWnd, integer lpEnumProc, integer l Param

DECLARE INTEGER GetWindowThreadProcessId INuser32 INTEGER hWnd, INTEGER@lpdwProcId&&找创建者

DECLARE Integer RtlAdjustPrivilege IN ntdll.dll Integer Privilege, Integer Enable, Integer;

Client, Integer@Was Enabled&&提升当前系统用户的权限, 因为权限不够有API函数提取了进程

SE_DEBUG_PRIVILEGE=20

?RtlAdjustPrivilege (SE_DEBUG_PRIVILEGE, 1, 0, 0)

LOCAL c Cmd, hProcHeap, cCmdnAddr, hModule, nAddr

CREATE cursor WindHwnds (hWnd i, 窗口名C (100) , 返回值N (10) , 进程号N (10) )

指定的堆上分配内存, 并且分配后的内存不可移动。

检索指定的动态链接库) 中的输出库函数地址

EnumChildWindows (0, AdrCode, 0) &&枚举一个父窗口的所有子窗口

HeapFree (hProcHeap) &&作用与HeapAlloc相反

上面的实例就是显示本服务器正在运行的程序窗口和它的进程号, 只要加上数据库记录就可以成为一个完整的服务器监控程序了, 由于篇幅的原因, 我就仅做监控这一部份的描述了。

其实上面的代码也是一个杀毒软件的雏形了, 只要加上中断进程的代码就可以成为一个自己专用的杀毒软件, 也更能保证服务器的安全了, 由些可见VFP非但没有没落, 反而是有很大的前途, 所以广大的VFP爱好者不要灰心, 把自己的VFP用好。

参考文献

[1]VFP中的API应用大全

[2]杨文, 黄文涛.《通用自动测试系统的软件设计与实现》.《工业控制计算机》.2012年第25卷第1期

VFP数据库论文 第2篇

教学反思

漠河县职业技术学校 尘威威

中职课堂“VFP数据库应用基础”教学反思

漠河县职业技术学校 尘威威

在中职计算机应用专业教学中,数据库应用教学是其中的重点和难点。在强调‚以技能为核心,以就业为导向‛的中职学校中,如何使文化基础知识较为薄弱的学生对枯燥的VFP数据库产生学习兴趣,并能学以致用,是每位计算机专业教师努力追求的目标和任务。

结合我多年的教学经验,针对VFP课程的特点,在教法上,我以‚案例教学法‛、‚‘课机’结合式教学法‛、‚任务驱动教学法‛为主开展课堂教学,教学效果比较明显。但在‚程序设计‛这一章节的教学中,还是存在着两大误区:一是学生基础较差,加之不爱动脑、动手,导致时间花得多,效果不理想;二是只重视程序设计的结果,忽视了其算法的多样化,从而束缚了学生的思维创新。针对存在的两大误区和不理想的教学效果,引起了我深深的反思,如何突破这两大误区成了我的首要教学任务。于是,我认与同事研讨,查找相关资料,将多种教法结合起来,通过实践,逐步形成了一种‚精讲多练、小组互动、分层实施、机试为主‛教学模式,从而达到了预期的教学效果。

现以do while …… end do循环控制命令的使用为例,将其教学片段简介如下:

一、教学实例

探索循环结构的程序设计方法:

1.示例:用投影仪展示求1+2+3+4+…+100程序清单,让学生对 照程序清单上机调试并思考。

附程序清单:clear sum=0 i=1 do while i<=100 sum=sum+i i=i+1 end do ?‛1+2+3+…+100=‛,sum 师:同学们,你们能找出程序清单中有哪些变量?并说明它的作用吗?

学生思考,随后指名回答。教师板书:sum i

sum的作用是用于存储所求的和(中间结果及最终结果),i的作用是用来存储循环的值(即加数),同时控制循环执行的次数。

师:程序中的变量名可用其它的字母代替吗?你能找出在循环体(命令序列)中用于控制循环趋于结束的命令吗?

学生回答,教师板书:i=i+1 师:好,请同学们独立思考此程序的循环次数? 全班回答:100次。

师:如何通过上机操作验证其执行过程呢?(学生开展讨论并上机操作验证)生1:只须将输出命令放到循环体中即可,即在‚i=i+1‛命令之后、‚end do‛之前插入‚?sum ,i‛命令。(学生操作验证)

生2:因为当前屏显示不下,我们看到的仅仅是最后的几次执行过程,对于以前的执行过程还是看不到,可将该题分段实施,即先求1+2+3+…+20的和。

师:很好。(鼓掌、同学们再操作验证)

2.任务:四人一个小组开始活动,讨论以下任务的设计,并上机操作,教师参与到学生的活动中。

任务一:求2+4+6+8+…+100的和 任务二:求1×2×3×4×5 不一会,各小组互动结束,请两个组进行了回答如下: 小组甲:任务一与例题之间的区别是循环变量的初值为2,每循环一次循环变量增2即i=i+2。

小组乙:任务二在例题的基础上将‚sum=0‛改为‚sum=1‛,循环变量的终值为5即条件改为i<=5,然后是循环体中的‛sum=sum+i‛改为‛sum=sum*i‛。

3.讨论:同学们,在刚才所做的程序中,你能找出其规律吗? 全班交流:

生1:循环变量从所赋的初值到终值按照一定的差进行变化,如求1+2+3+4+…时,其差为‚1‛进行的,求1+3+5+7+…时其差为‚2‛。

生2:(补充)循环变量在程序每执行一次时,就按照其连续相邻的两个值之间的差进行递增变化。生3:用来存储结果的变量sum,也有一定的特点,如在求和时可以赋‚0‛,在求积时只能赋‚1‛。

……

师:你们说得很好,尤其是循环变量的特点,它是我们进行循环结构程序设计的关键,也是一个难点,其理解的程度直接影响到我们程序设计成败。但注意的是有时也可能发生递减变化哟。

4.拓展:做一做,求1+2+3+…+n;1×2×3×4×…×n;n从键盘输入。

做完后并思考:与上述程序设计题有何区别?有何意义 过了一会儿,大多数学生做完了,但还有部分学生没有做完,就安排做完了的学生去指导未完成学生,帮助其操作,力争所有的学生有所获,有所得。

二、教学反思

VFP就是一个让普通用户方便利用可视化的设计工具和向导快速进行数据处理和程序设计的很好的软件。其可深可浅,可难可易,综合性很强。对VFP程序设计的教学,不再是重结果,轻过程,而是很好地驾驭教材内容,创造性地使用教材,巧妙组织,精心安排,灵活设计,给学生以耳目一新的感觉,教学效果非常明显,主要体现了以下几个方面:

1.程序设计关注的应该是程序设计的思维过程

本章节的教学,我跳出了认知技能的框框,不把程序设计的方法、操作技能的形成作为唯一的目标,而更关注学生的学习过程,让学生 在自身实践探索的过程中实现发展性领域目标。如教学时围绕do while命令的使用为重点展开探索,通过相应的活动与任务提供自主学习的机会,给学生充分思考的空间和时间,允许并鼓励他们有不同思维方法,尊重他们的想法,哪怕是不合理的,甚至是错误的,让他们在相互交流、碰撞、讨论中,进一步明确程序设计的基本方法。通过互助探究后,他们在不同的层面上得到提高,并掌握了解决相应的实际问题的能力。在此基础上,教师组织学生对知识进一步拓展:如求‚1+2+3+…+n‛,达到程序设计的基本要求,那就是通用性、实用性。这样的教学,学生获得的不仅仅是程序设计的基本方法,更重要的是分析、处理问题的思维创新能力。

2.提倡思维方式、程序算法的多样化,促进学生个性发展。学语言一般都是从基础知识、概念和一些理论知识入手的,但中职学生的文化课底子薄,理解能力本来就差,如果一开始就讲理论只能让学生不知所措或对这门课提不起兴趣。现在学校一般开设的数据库课程都是VFP6.0版本的,它的可视化功能很强,我们在授课时,应充分利用这一特点,让学生先从外观上对这门课有个初步的认识和了解,理论知识可以在操作中边讲边学的过程中穿插进去,改变一般教材的课程设臵。这样学生是在操作使用中去掌握理论,会比较形象直观一些;而后为了使用所建数据库中的数据表,让学生学习查询、视图、报表、菜单,学习完这些内容以后,再让学后接触SQL语言、程序设计基础、表单。最后是综合应用程序的开发,由易到难,由浅入深,可以循序渐进地将理论与实践结合起来,达到教学目的和要求。思维方式、程序算法的多样化,是指尊重学生的独立思考,鼓励学生探索不同的方法,而不是让学生一定要去掌握多种操作方法。通过分层实施,学生分别达到了应会、熟练等不同程度。在学生进行程序设计时,学生中出现了多种形式不同的程序清单。有的是变量的初值不同,有的是在循环体中命令的先后位臵略有变化,有的是把输出放在了循环体之中等等。在学生独立思考解决的基础上,再让学生发表自己的见解、观点,倾听同伴的解法,进行小组内交流、争论,从而达成一种共识。教师鼓励学生用已有的经验大胆思维,鼓励学生动手上机操作,寻求解决问题的有效途径,营造宽松活跃的课堂气氛。算法的多样化使学生变得聪明自信,在主动探索与合作交流中得到收获,并促进学生的个性发展。

3.营造民主的氛围,激发学生的创新思维

在程序设计过程中,不同的方法对同一个人也许有快慢之说,而对不同的人却不存在优劣之分。在整个探索的过程中,我只是通过投影展示了一个例题,然后组织学生不断地发表自己的想法,通过引导,鼓励他们敢于争论,完成对知识的构建,同时也要注意呵护每一位学生的学习激情,激发其创造力。

学生争论不休的时刻,也正是他们在积极地参与整个学习活动,这正是组织教学的精华所在,同时也挖掘了学生潜在的创造力,从而也带动了全班学生的积极参与,在‚do while命令‛使用的探索过程中,如验证体会循环的执行过程时,一学生提出只要验证‚1+2+3+…+20‛之和,又如求"1×2×3×4×5"时,一学生说它的sum初值不 能为‚0‛,只能为‚1‛时,全班学生都给了他热烈的掌声。我想他这种的见解总是在经过认真分析思考后得出来的。

4.教学方法多样化,激发了学生学习的兴趣

数据库应用VFP是一门操作性很强的专业课程。为了让学生学习有兴趣,在举例时应举与学生有关的、学生经常用到的内容,比如建立数据库,可以以学籍管理中的学籍表、成绩表为例,这些表学生经常都在填写使用,学生以自己的同学作为记录去创建表、使用表,这样一是提高了他们的学习兴趣;二是在建表的过程中自动完成了对数据的收集、整理、录入编辑工作,这样在讲数据处理时学生就不会难理解了。一个数据库包含的数据表应至少是3张以上,这是为后面的建立表之间联系和多工作区做准备,学籍管理中可以再添加一个图书借阅表。

在VFP中使用的文件类型比较多,比如学籍管理库,一旦建立就会同时自动生成同名的3个文件:学籍管理.DBC、学籍管理.DCT、学籍管理.DXT,在应用中只要3个文件少了一个,就会影响数据库使用的质量。对其他文件也是一样的,在操作中,学生们经常会丢失一些文件的备注文件致使原文件无法使用。所以一定要求学生及时对原数据文件做好备份。对学生自己的相关信息进行操作,学生学习兴趣浓厚,在学习过程中出现了你追我赶的局面,学习氛围非常好。讲授的例子始终围绕‚学籍管理‛这个具体实例来讲解,前后具有连贯性,便于知识的巩固和理解。

‚课机‛结合式教学法,在课堂中教师通过大屏幕液晶投影仪或 网络教室讲解知识,然后学生在下面操作学习,学生很容易跟着教师的步骤进行学习,掌握教师教给的内容,而且印象也较为深刻。如上述的示例部分。‚任务驱动‛教学法可合理组织学生自主学习,激发他们的兴趣,让他们尽快地活动起来,并通过自己的自学和同学的帮助来解决问题,在愉快的教学过程中掌握知识,如上述互动中的任务

一、任务二等。

5.实践探索,进一步提高了学生的创造力

真理源于实践,实践出真知。在程序设计的教学中,通过边讲、边练,先从理论上分析讨论,找准理论依据,后通过上机操作验证其正确性,最后再讨论分析、交流程序设计的最佳方法,不仅训练了学生的操作技能,同时也培养学生的创造能力。

总之在程序设计中,鼓励积极思维、分层要求、反复操作验证、达到程序算法多样化是尊重学生的表现,体现了以学生为主体的教学原则,符合现代认知建构主义思想,是释放学生自信心和创新思维、培养创造能力的有效途径。

三、需进一步探索的问题

VFP数据库微课的设计与探讨 第3篇

【关键词】VFP数据库;教学模式;微课设计

1.引言

隨着网络技术与通信技术的不断发展,微课作为新型的教学资源模式,具有用时少,内容精、生动性强、可在网络上点击播放、不受教学时间和空间的约束等特点。在当今社会中,对于教育者来说运用微课进行教学,是必不可少的,微课程创始人戴维.彭罗斯曾把微课程称为“知识脉冲”[1]。他认为微型的知识脉冲只要在相应的作业与讨论的支持下,能够与传统的长时间授课取得相同的效果,将成为一种知识挖掘框架。微课提供的知识挖掘平台,允许学生对自己的学习有更多的主动权,自主地挖掘所需的知识点、有针对性地开展学习,这不仅提高了学生的学习效率,节约了时间,而且极大地激发了学生学习的兴趣。

所谓“微课”是指以视频为主要载体,记录教师在课堂内外教育教学过程中围绕某个知识点(重点难点疑点)或教学环节而开展的精彩教与学活动全过程[2]。

VFP数据库是高等院校非计算机专业学生必修的公共课,其理论性和实践性都很强,信息量大、且较为抽象,并且具有一定的难度,学生在学习时普遍存在一定的畏惧心理,导致对VFP数据库的学习兴趣不浓,进而影响到后续课程的学习。对此,教师应积极转变教学观念,运用微课这一新型的教学模式,优化VFP数据库课程教学势在必行。将微课技术用于VFP数据库课程的教学中,针对VFP数据库各个知识点或教学环节,运用各种教学资源,以教学视频为主要方式呈现给学生,将极大激发学生学习VFP数据库的兴趣,帮助教师补充和延伸VFP数据库课程的教学过程,从而实现较好的教学效果。基于微课程的优势,本文从VFP数据库教学现状、VFP数据库微课的设计、VFP数据库微课的实现三个方面,对VFP数据库教学模式进行探讨。

2.VFP数据库教学现状

目前,在VFP数据库教学中,学生们的普遍反映是:

(1)纸制教材对学生的吸引力较低。VFP数据库教材中大量的概念、定义、表格、命令、控件、数字、代码等,使得大部分学生犯晕,再加上呆板的章节形式,对学生吸引力较低。

(2)教材选用与学生需求的吻合度较差。纸制教材虽然具有重点突出、通俗易懂、详略得当等特点,但缺乏趣味性、时尚性,这不仅反映了目前大学生的心理追求,也说明了VFP数据库教材建设滞后于教学需求。

(3)学生对VFP数据库课程中的重点、难点的理解不够透彻。在VFP数据库课程中,知识点多,重点、难点多,例如数据模型、参照完整性等概念,都是十分重要且非常抽象。老师讲清楚了,学生当时可能也听明白了,但不一定就是掌握了,短短的课堂时间无法达到领会、理解、掌握的教学效果。

(4)教师教学努力方向与学生的兴趣点不能完全一致。当代的大学生思维比较活跃,兴趣广泛,他们的兴趣点在于新和乐上,如果教师还按照传统的教学模式按部就班,扎扎实实,一步一个脚印按照教学大纲要求向学生传授知识,学生对学习VFP数据库的意愿、兴趣点与教师教学努力方向不一致,没有形成教学上的合力,教学效果事倍功半。

3. VFP数据库微课的设计

基于VFP数据库特点及教学现状,可以通过设计VFP数据库微课来补充和丰富教学过程,从而实现更好教学效果。

(1)内容的选取与设计。VFP数据库微课的设计首先应从选题开始,只有题选好了,教师才能借“题”发挥。如果选题太大、太复杂,在有限的时间内无法把问题讲述清楚,就会影响教学效果。因此,在教学实践中,应选择VFP数据库中常见、典型、有代表性的知识点或针对某一个难点、重点问题进行微课设计,内容尽量“小而精”。时间一般控制在5-8分钟,最长不宜超过10分钟。譬如,VFP数据库课程中的“字段有效性”是VFP数据库中的一个重点、难点,它能保证数据库中数据的正确性。教师可以基于该知识点进行微课设计。

(2) VFP数据库微课导入环节的设计。一个好的微课,关键在于导入。微课教学时间短,不应在导入环节花费过多时间,所以切入主题必须迅速,力求做到新颖独到、引人注目。导入的方法很多,可以开门见山进入主题,可以设置一个疑问、悬念等引入主题,也可以从之前的基本内容引入主题,还可以通过一些实际问题引入主题。但不管采用哪种方法,都要与课堂教学内容紧密关联。

如前所述的“字段有效性”的微课中,导入方法上可根据实际生活中“学生成绩采用百分制,在0-100之间”,直接给学生展示一张表。让学生很快明白微课要解决的问题,做到了切题迅速,目的明确。

(3)VFP数据库微课教学过程的设计。微课通常只有一条主线,解决的是一个或一类问题或方法。因此在内容的安排上要围绕一条线索展开,主题要鲜明,突出重点内容,由浅入深,层次分明,巧妙运用启发式、问题式等方法,设计问题,激发学生学习兴趣,营造学生参与教学的氛围,提高学生积极学习、自主学习的热情。在VFP数据库微课教学过程设计中,每一个画面都配上感染力极强的精炼语言,在视觉受到强烈冲击的同时,听觉上也产生强烈共鸣,进而使主题深入学生内心。升华主题,精彩总结。一个好的微课要有一个好的结语。提纲挈领,升华主题是好的结语的具体表现。这样可以让学生清晰地感觉到学到的东西,加深对所学内容的印象,减轻记忆负担。

4.VFP数据库微课的实现

VFP数据库微课的质量直接影响到微课教学效果。因此,对于相关课件PPT的设计、教师魅力的展现、录制视频的方式等每一个环节都十分重要。

(1)VFP数据库课件制作。制作课件的总体原则是,在说明问题的前提下,越简单越好。教师应紧紧围绕选题的内容,制作图文并茂、动静结合的PPT课件。课件应尽可能利用图片、图表、表格、插图等[3]。课件动画设计以帮助学生理解问题为目的,夸张适度,恰如其分。课件字体、字号选择得当,颜色搭配不能过于复杂,强调协调和合理。图片和文字的使用不是越多越好,图片要清晰美观,有视觉震撼力;文字要言简意赅,感染力强。高质量的PPT课件为高质量的VFP数据库微课的教学打下坚实基础。

(2)VFP数据库微课视频制作。在视频制作方式的选择上, VFP数据库教师一定要根据内容的需要确定。要有团队合作意识,例如课堂教学可以用录屏软件录制,再配上摄像头和麦克风,也可以让一部分学生旁听,开展课堂互动,将老师讲课的激情体现出来。也可以用数码摄像机实时记录教学过程中老师、学生交流等实景画面,然后对视频进行后期的编辑制作、美化。

(3)VFP数据库教师精彩的讲解。教师精彩的讲解应该是VFP数据库微课的一个亮点,在讲解过程中教师要做到为人师表,教学语言要规范、清晰,有意识地完善自己的教学,实现教师的人格魅力。

5.结语

将微课引入VFP数据库课程中,改变了传统的教学方式、学习方式,打破了学生学习的地域限制和时空限制,满足了学生个性化学习和碎片化学习要求,对提高教学质量和提升学生自学能力都能起到促进作用。

参考文献:

[1] 胡铁生.“微课”:区域教育信息资源发展的新趋势[J].中国电化教育,2011,(10): 61-65.

[2] 梁乐明,曹俏俏,张宝辉 微课程设计模式研究[J]开发教育研究,2013,(1):65-73.

高职数据库VFP教学模式初探 第4篇

VFP是目前应用最广泛的数据库应用开发工具之一,它简单易学,功能强大,因此许多高职院校都开设了这门课程。其目标是培养学生掌握数据库基础理论知识,能熟练的创建和使用数据库、数据表、视图、查询、菜单、表单和报表,能够开发一个小型的面向实际应用的数据库系统。但由于该课程理论基础性强,学生在学习过程中普遍感觉一些概念性内容不容易理解,有时会被动地记忆教师讲授的基本概念、语法知识和程序结构。大多数学生学完该课程只能孤立地做个菜单或表单,至于如何将程序设计联系起来开发一个系统,却是一片茫然。如何有效地解决上述问题,着有成效地培养学生的实践能力,教学模式和方法需要做出重大调整,教学改革势在必行。

1 激发学生的科研兴趣,树立自信心,培养创新意识

科研兴趣和自信心是创新的动力和基础,只有对实践项目感兴趣、渴望探究,才有创新的愿望。在程序设计教学中要从学生的兴趣入手,我们可以在一开始学习VFP程序设计时安排一个简单的没有代码的程序,帮助学生了解如何用VFP开发应用程序,让学生从自身的实践中感受到用编写程序并不难,从而迎合了学生渴望成功的心理特点,树立了学生的自信心。并且在在VFP的教学过程积极引导学生去发现问题、研究问题和解决问题,激发他们的学习研究兴趣和求知的欲望,才能着有成效的培养他们的创新意识,从而提高学生对专业的兴趣。

2 以职业需求为目标,深化计算机基础课程教学模式改革

高职教育的目的在于培养具有综合能力应用性人才,所以针对VFP教学既要注重理论知识又要注重实践技能,并结合市场的要求,突出实践性教学及技能训练。按照这种培养模式进行教与学,才能够适应多元、多变的高新技术的不断发展,适应社会对生产、建设、管理和服务一线人才的需要,促进高职学生的全面发展。

鉴于此,我对教学模式的改革提出以下两点建议:(1)采用“案例驱动”的教学模式。“案例驱动”的主要特点是“由案例驱动,更注重实践”。在教学过程中,根据教学大纲规定的教学目标和要求,运用相关的理论和知识,通过师生共同对实际案例的分析和探讨,使学生巩固所学知识,培养分析和解决实际问题的能力。教师在讲课时,注重将知识点的讲解与案例任务有机地联系起来,从而激发学生学习的兴趣和求知的欲望,使学生在完成案例任务的过程中实现知识的传递、迁移和融合。例如,在VFP的教学中,我设计了“学生学籍管理系统”一个大任务,并把大任务又分解成保存数据、维护数据、查询数据、统计数据、制作报表、程序设计、表单设计等子任务,从而将这些子任务应用到每一节课的教学之中。在讲解新课之前,首先给学生演示本节课将要制作的实例,让学生对学习的内容有一个直观的感性认识,然后引入新课内容。(2)教学从理论课堂转向机房。为了更好地培养学生动手实践能力,该课程的教学应安排在计算机机房内上课,这样就会大大加强师生之间的互动,教师可以及时发现教学中存在的问题,以及学生对本节课掌握的情况,随时调整教学方法,以便于解决实际问题,增强教学效果。同时学生也可以在教师的指定下及时地完成本节课的实践任务,从而更好地实现理论与实践的有机结合。

3 加强实践环节的教学和管理

高职教育是一种以各产业生产技术为主的教育,因而技术能力的获得成为其教育成功与否的重要标志。所以,高职教育应加强职业技能的培养。这就要求各个院校在教学过程中注重实践教学环节。数据库VFP的改革重点是强化技能训练、重视实训及实验环节。在教学过程中教师应加大学生自主实践的比重。让学生在指定的时间内完成教师安排的实践任务,并将学生的实践任务完成情况做以考核,并给以打分。将所有的得分总和按10%系数纳入到期未考试成绩中。只有真正做到这一点,才能提高计算机教学质量,激发学生完成实践任务的积极性。实践证明,每次上机后教师对学生的操作成绩实行打分和评价,能使学生更好地完成实践任务,充分调动了学生学习的积极性和主动性,学生的操作能力也有了大大的提高。从而达到了高职计算机基础课程的教学目标。

4 完善考核机制,促进能力教育的实现

VFP数据库论文 第5篇

第五章 VFP数据库的操作

班级:

姓名:

学号:

成绩:

一、选择题

1. 1.命令SELECT 0 的功能是__A____。

A、选择区号最小的空闲工作区

B、选择区号最大的空闲工作区

C、选择当前工作区的区号加1的工作区 D、随机选择一个工作区的区号

A、工作区的系统别名和用户定义的数据表别名可以交替使用 B、在某个工作区打开的数据表原名和工作区别名可以交替使用 C、在某个工作区打开的数据表原名和数据表别名可以交替使用 D、在选择工作区时,可以用工作区号、系统别名或打开的数据表别名

D、物理排序 2.以下叙述中,错误的是___C___。

3.VFP中的SET RELATION关联操作是一种__A____。

A、逻辑连接 B、物理连接 C、逻辑排序

4.建立两个数据表关联,要求_____D_。

A、两个数据表都必须排序

B、关联的数据表必须排序

C、两个数据表都必须索引

D、被关联的数据表必须索引

5.下列叙述正确的是__C____。

A、一个数据表被更新时,它所有的索引文件会自动被更新 B、一个数据表被更新时,它所有的索引文件不会自动被更新 C、一个数据表被更新时,处于打开状态下的索引文件会自动被更新

D、当两个数据表用SET RELATION TO 命令建立关联后,调节任何一个数据表的指针时,另一个数据表的指针将会同步移动 __B____。

A、USE STD1

C、USE STD1 6.两个数据表结构相同,若要将STD1.DBF中的纪录追加到STD2.DBF之后,应使用命令组

B、USE STD2

APPEND FROM STD1 D、USE STD2 APPEND TO STD2

COPY TO STD2

COPY FROM STD1 7.VFP中,下列概念中正确的是__A____。

A、在同一个工作区中,某一时刻只能有一个表文件处于打开状态 B、一个表文件可以在不同的工作区中同时打开

C、UPDATE命令中的两个表必须按相同关键字建立索引

D、JOIN命令生成的表文件可以与被连接的表在一个工作区内同时打开

1.B 2.A 3.C 4.A 5.A 6.C 7.D 8.B 9.C 10.D 11.A 12.D 13.A 14.C 15.C 16.D 17.B 18.B

数据库技术及应用

第六章 SQL语言的应用

1.下列命令中,用于打开数据库设计器的是__B____。

A、CREATE DATABASE C、SET DATABASE TO A、DROP TABLE ABC.DBF

B、OPEN DATABASE D、MODIFY DATABASE

B、ALTER TABLE ABC.DBF 2.从数据库中删除数据表ABC.DBF的命令是___A____。

C、DELETE TABLE ABC.DBF 学生与课程之间的联系是_______。

A、一对一

B、一对多

C、多对多

D、未知

4.要在数据库中的各个数据表之间建立一对多关系,“一方”的关键字段首先必须建立______。

A、主索引 B、候选索引

C、普通索引

D、唯一索引

5.下列有关索引的说法中,正确的是_______。

A、候选索引既可以在自由表中创建,也可以在数据库表中创建 B、建立主索引的主关键字值不能为空,但可以有重复数值 C、建立候选索引的候选关键字值不能有重复值,但可以为空 D、建立唯一索引的索引关键字值不能有重复值 A、插入规则 B、删除规则

C、查询规则

D、更新规则

D、REMOVE TABLE ABC.DBF 3.已知在教学环境中,一名学生可以选择多门课程,一门课程可以被多个学生选择,这说明6.VFP关于数据库的参照完整性规则不包括_______。7.关于视图与查询,以下说法错误的是_______。

A、查询和视图都可以从一个或多个表中提取数据 B、查询是作为文本文件,以扩展名.QPR存储的 C、可以通过视图更改数据源表的数据

D、视图是完全独立的,它不依赖于数据库的存在而存在

D、图形 8.下列几项中,不能作为查询输出的目标是______。

A、临时表

B、视图

C、标签 9.以下关于主索引,正确的说法是______。

A、在自由表和数据库表中都可以建立主索引 B、可以在一个数据库表中建立多个主索引 C、数据库中任何一个数据表只能建立一个主索引 D、主索引的关键字值可以为NULL A、只能由自由表创建查询 C、只能由数据库表创建查询 A、MODIFY VIEW

B、不能由自由表创建查询

D、可以由各种数据表创建查询

B、RENAME VIEW 10.以下关于查询的描述中,正确的是______。

11.VFP修改本地视图的命令是______。

C、CHANGE VIEW

D、CREATE SQL VIEW 12.标准的SQL基本查询模块的结构是______。

A、SELECT … FROM … ORDER BY B、SELECT … WHERE … GROUP BY C、SELECT … WHERE … HAVING

D、SELECT … FROM … WHERE

13.SQL查询语句中,ORDER BY 子句的功能是______。

A、对查询结果进行排序

B、分组统计查询结果

C、限定分组检索结果

D、限定查询条件 14.SQL语句中修改表结构的命令是______。数据库技术及应用

第六章 SQL语言的应用

A、MODIFY TABLE

B、MODIFY STRUCTURE C、ALTER TABLE

D、DROP TABLE 15.SQL语句中INSERT命令的功能是______。

A、在表头插入一条记录 C、在表尾插入一条记录 A、数据定义

B、在表中指定位置插入一条记录 D、在表中指定位置插入若干条记录 B、数据查询

D、修改表中某些列的内容 B、CREAT VIEW D、CREAT CURSOR 16.SQL语句中UPDATE命令的功能是______。

C、更新表中某些列的属性

17.建立视图的SQL命令是______。

A、CREATE TABLE

C、CREATE INDEX

18.在设置数据库中的数据表间的永久关系时,以下说法正确的是______。

VFP环境下的数据库加密技术 第6篇

随着人们的生活水平的不断提高,电子商务等经济活动在在生活中的比重也越来越大,信息安全也越来越受到人们的关注。信息安全地核心问题就是提高数据库的安全性,如何有效的实现数据库的加密,成为人们迫在眉睫的问题。经过近几年的研究,我国数据库加密技术虽然已经比较成熟,但目前大部分数据库都是以明文存储,即是采用ASCII码明文存储,这样的话其他非法用户只要直接使用Winhex、Ulteaedit等工具,甚至是Dos系统下的Degbug命令来打开数据库文件,都可以直接阅读到数据库中的内容, 因此用一般的身份验证与识别无法保障数据库的安全。但是如果数据库加密技术将数据库中的数据作密文存储,可以更有效地保护数据库安全。以下介绍了在VFP的环境下几种主要的数据库加密的方法。

1 数据库加密原理

数据加密就是把数据信息即明文转换为不可辨识的形式即密文的过程, 目的是使非法人员不能够识别, 反之将密文转变为明文的过程就是解密[1]。基本过程如上图。

模型中的明文即以ASCII码形式存储的DBF文件, 通过加密算法利用加密密钥转成不可阅读的密文后存储在数据库中, 打开时再通过加密算法利用解密密钥又转换成为明文, 整个过程分为加密与解密的两个步骤, 我们所讨论的重点在第一个步骤上, 根据VFP环境下文件型数据库的特点, 数据库的加密一般可以有两种方式, 一种为库外加密, 一种为库内加密。

2库外加密

在VFP环境下数据库系统是文件型的, 因此库外加密的办法, 应该针对文件IO操作或操作系统。所以在采用库外加密的方法时, 可以将数据先在内存中使用EDS、RSA等方法进行加密, 然后文件系统把每次加密后的内存数据写入到数据库文件中去 (注意是把整个数据库普通的文件看待, 而不是按数据关系写入) , 读入时再逆方面进行解密就可以正常使用了。这种加密方法的缺点是对数据库的读写都比较麻烦, 每次都要进行加密、解密的工作, 都会有影响到对程序的编写和读写数据库的速度。因此它的可行性方面还有待在实际应用的过程中视情况而定。

3 库内加密

VFP环境中从关系型数据库的几个方面出发,形成库内加密的思想很简单。关系型数据库的关键术语有:字段、行、数据元素和表。可以针对这几方面形成一种加密的方法。

3.1 以记录或字段(即二维表的行或列)为单位加密

在这种情况下, 我们访问数据库时都是以二维表方式进行的, 二维表的每一行就是数据库的一条记录 (即元组) , 二维表的每一列就是数据库的一个字段。如果以记录为单位进行加密, 那么每读写一条记录只需进行一次加解密的操作, 对于不需要访问到的记录, 完全不需要进行任何操作, 所以使用起来效率会高一些。但是由于每一个记录都必须有一个密钥与之匹配, 因此产生和管理记录密钥比较复杂。以字段为单位的加密分析与以记录为单位的加密情况相似。基于记录的数据库加密技术一般而言, 数据库系统中每条记录所包含的信息具有一定的封闭性, 即从某种程度上说它独立完整地存储了一个实体的数据。因此, 基于记录的加密技术是最常用的数据库加密手段。这种方案的基本思路是:在各自密钥的作用下, 将数据库的每一个记录加密成密码文并存放于数据库文件中;记录的查找是通过将需查找的值加密成密码文后进行的。由于密码文数据一般不能代替明码文进行算术运算和关系运算, 因此, 采用这种方案时, 数据库将不能实现诸如索引、连接、统计、排序等多种操作, 并会影响数据库管理系统某些原有功能的作用。

3.2 以数据元素为单位加密

由于数据元素是数据库库内加密的最小单位,因而这种加密方式最彻底的但也是效率最低的。每个被加密的元素会有一个相应的密钥,所以密钥的产生和管理比记录加密方式还要复杂。结合VFP数据库,可使用以下三种方法对数据库加密[2]:第一种是用asc()、che()等函数对字段内容做转换;第二种用低级文件函数对库文件进行转换;第三种就是不用库形式,而用文本文件形式记录信息.并用低级文件函数进行加密。

3.3 以表文单位加密

比如更改文件分配表(FAT)中的说明等手段可以实现对文件的简单加密,但这种加密方式涉及到文件系统底层,误操作容易造成FAT混乱,而且与文件系统格式有关,因而通常不宜采用。

综合以上几种方法,各有各的优点与缺点,如何使用最终还是要根据数据库的大小,字段的多少,关系的复杂程度来定。

结束语

数据库加密技术的应用极大的解决了数据库中数据的安全性问题,实现的方法各有千秋,随着数据库加密技术的发展,相信数据库的使用会变得越来越安全。

参考文献

[1]常永亮.数据库加密技术概述.

VFP数据库论文 第7篇

关键词:VFP数据,ORACLE数据库,程序设计

ORACLE是以高级结构化查询语言(SQL)为基础的大型关系数据库,因其可以支持多用户和在数据库管理功能、完整性检查、安全性、一致性、稳定性方面的良好性能,使其成为目前最流行的客户服务器(CLIENTSERVER)体系结构的数据库之一。

在企业日常生产中,有时需要调用每天存放在ORACLE服务器上的生产数据,采用VFP软件实现方便的生产查询或汇总,因为VFP(VisualFoxPro)是一个功能强大的小型数据库管理系统,它能迅速而又简单地建立用户的数据库,从而方便地使用和管理数据;利用其提供的对象和事件处理模式和面向对象的编程方法,使用户能够快速地建立应用程序。同时,VisualFoxPro是MicrosoftOffice的兼容产品,用VFP开发的出的应用软件很受大型企业低端用户的欢迎,所以,VFP是大型企业解决数据处理问题时,作为应用程序前端开发工具的理所当然的选择。首先,VFP系统小巧玲珑,不占太多的存储空间,数据建立表容易,操作简单,用它存储中间数据,成果数据,图表信息非常合适,1992年6月Microsoft购买Fox公司以来,对VFP作了控制操作Oracle的接口,用户很容易的在VFP平台下,通过ADO,ODBC等方式完成这项工作。

为此设计了VFP数据库与ORACLE数据库接口程序,以实现ORACLE数据向VFP数据库的自动转换,以下是程序设计思路:

1 总体设计思想

为使用户能够调用服务器上的数据体,首先在ORACLE服务器上根据用户需要建立了可以调用的ORACLE存储过程,用户在远端的客户机上只要调用相应的存储过程就能够获得想要的数据,而不会影响服务器本身的数据库运行。在客户机上编写数据库接口程序,数据库接口程序的主要内容为调用存储过程和将调用的信息转入DBF数据库表,程序编写完成后,利用windows操作系统里的计划任务,按时自动执行数据库接口程序,实现调用ORACLE存储过程,并通过执行VFP的execute和Fields("XX")value、INSERT等函数,将获得数据信息逐条送入VFP数据库已存在的DBF表中,实现ORACLE数据库内容向VFP数据表的自动转换。

2 程序设计

程序是在Windows操作平台上采用VisualFoxPro9.0开发完成。

3 实现

程序通过系统A D O配置和登录ORACLE信息设置、程序参数设置、数据监测四个阶段实现其数据转换功能。

3.1 ADO配置

为实现V F P数据与O R A C L E数据库之间的通讯,要在数据转换服务器上安装o r a c l e 9.0或以上版本的MicrosoftODBCDriverforOracle(假设安装了oracle9.0),以取得ORACLE的SQL*NET软件层支持,并通过ADO配置使VisualFoxPro能够与ORACLE数据库相连,访问库中的数据。在oracle9.0安装目录中找到tnsnames.ora文件,将文件内容中的IP地址和SERVICE_NAME改为所要调用的ORACLE数据库的IP地址和服务器名称。

3.2 登录ORACLE信息设置界面

在WINDOWS操作系统的控制面板里,选择管理工具,并在其中选择ODBC数据源管理器,在其界面菜单里选文件DSN,点击添加,填写一个名称,如:yc,该界面用于设置登录ORACLE数据库所必需的用户名、口令和数据库别名三个参数据,以供程序调用。界面如图示。

3.3 程序参数设置

关键语句格式:首先建立一个远程连接,连接的名称就是上述ADO配置中填写的名称,如yc:

这里“jh”为ORACLE存储过程里的字段。再应用INSERT into VALUES语句向已经建好的DBF表写入jh等字段的数据。

3.4 数据监测

在程序运行的最后阶段执行数据监测模块,设计思路类似学校班级点名册,通过在建立的文件记录统计表(该表的字段设定为日期和所要调用的表名)中做相应记录来区别数据的调用成功与否:若某日没有从ORACLE数据库调用到相关数据,在该日该数据所对应的表名记录号写上F,若某天DBF表已经建立,则在当天该记录号写上T。下次运行调用存储过程时首先检查该表,如果该表上有F标志,则从F标志对应的那天开始调用数据,表的格式如下图所示:

4 结语

该接口程序实现了定时从ORACLE数据库向VFP数据自动转换功能,满足了企业数据库建设和自动化管理要求,极大地提高了数据库利用效率。为技术、决策人员及时掌握企业各类数据,创造了条件。

参考文献

[1]张洪举.Visual Fox Pro程序设计参考手册.人民邮电出版社,2004

VFP数据库论文 第8篇

江苏江南水务有限公司在2008年,对水费营收系统进行了升级改造。原有系统是我们自行用VFP6.0开发的C/S系统,新系统由我们和北京华电方胜软件公司合作开发,客户端用PB8.0实现,数据库选用了ORACLE9i,建立的数据库实例WATER。尽管VFP6.0的数据管理功能不是很强,特别是数据安全稳定方面的弱点很明显,但其通俗易懂,开发的应用系统快捷方便,短小精悍,其本身就是关系型数据库操作语言,用它建立数据表来储存中间统计基础数据容易简便,对数据处理的响应速度很快,特别是处理关系复杂的涉及多个表的统计报表,优势非常明显。而ORACLE是个大型的关系型数据库,数据功能强大专业,安全稳定性好,其自有的工作流系统,能对应用系统中的关键点进行工作流程控制,但其作为大型数据库,体积庞大,操作繁杂,规则较多,不易上手。在海量数据处理上,速度较快,但对于小型数据库,相对处理速度较慢。新的营销系统上线后,我们发现其在数据报表统计方面,反应速度慢,有的报表甚至超过10多分钟的统计时间,效率低下,使用不顺畅(程序设计有问题?),不能及时有效地满足管理的需求。如何集结VFP和ORACLE各自的优势,来提高系统的功能,使其既安全稳定,又能高效及时,满足各管理层对数据深层次的分析需求?笔者从事了多年的VFP的开发工作,经过探索我们发现,利用VFP技术,可以实现对ORA-CLE数据库的中的数据信息的调用,来进行中间数据的有效管理,进而进行统计查询、报表输出等的二次开发。下面我们针对系统已有的ORACLE数据库WATER,用户登录ID:DBO,对通过VFP调用WATER数据库中的数据的过程逐一进行介绍。

二、VFP与ORACLE数据源的链接

VFP与ORACLE数据源的链接,既可以用静态配置的方法实现,也可以利用VFP的函数进行动态链接。

静态配置的方法很简单,打开WINDOWS的控制面板中的ODBC数据源管理器,(需要安装ORACLE客户端软件)创建新的用户数据源(DSN),选择数据源驱动程序MICROSOFT ODBC FOR ORACLE,进行DNS的命名、ORACLE数据库的登录用户名和服务器名的配置,在VFP中建立一个数据库,用新建的DSN来建立连接通道,通过远程视图来实现对ORACLE数据表的调用。

但很多情况下,我们希望能在程序里动态设置数据源,与数据库建立链接,一来可以不用去为每个用户的机器手动设置,二来为了数据的安全性,使用完后,希望把ODBC数据源删掉。

1、利用API函数SQLConfig Data Source来设置和删除ODBC数据源。

DECLARE INTEGER SQLConfig Data Source IN odbccp32INTEGER,INTEGER,STRING,STRING

该函数有4个参数;

(1)一个窗口句柄(hwnd)

(2)配置类型:用户DSN 1-添加,2-修改,3-删除

(3)数据库驱动程序名

(4)连接参数信息串。

所有串参数必须以CHR(0)结尾,连接参数信息串(第四个参数)必须是一个参数和值的分隔列表,分隔符是CHR(0)。见下面的示例。

获取传递到SQLConfig Data Source函数的第四个参数的值的信息的最好办法是,运行ODBC管理器并用你所需要的连接信息创建一个FILE DSN.该信息会保存到一个文本文件中。

程序如下:

一般用完后,可以在退出系统表单DESTROY事件里删除ODBC。如果不想重复设置参数,可以把这些参数加到表单作为属性。

三、从VFP链接到ORACLE

1、可由VFP中的命令CREAT CONNECTION来实现和远程数据源的连接,在连接的基础上,用CREART SQL VIEW来建立远程视图

比如,利用前面建立的数据源SFYX来建立一个SFYXLJ的连接

CREAT CONNECTION SFYXLJ DATASOURCE SFXYUSERID DBO PASSWORD*****DATABASE WATER

连接就是视图和远程数据源的一个通道,用这个连接再建立一个名为USERVIEW的远程视图,其结果就是把ORACLE中数据库WATER中的一个用户基本信息库USERFILES中的信息调入本地VFP中的临时表中

CREA SQL VIEW USERVIEW CONN vfp_to_oracl AS(SE-LECT*from user_files)

再把远程视图转化为本地的临时表

SELE USERVIEW

Copy TO CXPDBF1

值得注意的是连接名是区分大小写的。

用命令的方法,建立连接的远程视图,事先必须先建立或打开数据库,新建的连接和视图是属于该数据库的对象。

2、利用SPT技术,用函数连接数据库方法:

SPT(SQL Pass Through)技术能使用户直接访问ODBC,并把SQL语句发送给服务器执行。与远程视图相比,它能够更直接地控制后台服务器上的数据库:1、可以使用服务器的特有功能,如存储过程和基于服务器的内部函数等;2、可使用服务器所支持的SQL扩展功能,而且可进行数据定义、服务器管理和安全性管理等;3、对后台数据库的更新、删除和插入等操作拥有更多控制权,对远程事务也拥有更多控制权。该方法的缺点在于不能使用图形化的设计器,而且必须在命令窗口或程序中直接输入SQL命令。常用的函数主要有:连接管理函数(如SQLCON-NECT、SQLSTRINGCONNECT、SQLDISCONNECT等)、SQL语句的执行和控制函数(如SQLEXEC、SQLMORERESULTS、SQL-COMMIT、SQLROLLBACK等)

下面举几个常用的函数加以说明

(1)利用SQLCONNECT()建立连接,连接名为LJSql

为节约连接数减少服务器负担,需要经常连接和断开,有时候并不希望每次连接都让用户登录,当用户首次登录后,可以把名字和密码存起来,以后的连接可以自动登录了。

断开连接:=SQLDisconnect(LJSql)

(2)利用SQLEXEC(n Connection Handle,c SQLCommand[,Cursor Name])函数进行远程数据处理

A:数据表的调用

ac=SQLEXEC(LJSql,"select*from ys_contents_price","papple")

LJSql为已建立的连接名,ys_contents_price为ORACLE的WATER数据库中的的一个表,papple为查询结果指定的表名

IF ac<0

MESSAGEBOX("读取数据错误!",16,'错误信息')

RETURN

ENDIF

查询结果表papple是临时表,是只读的,要想变成可读写,把它保存为本地的自由表

SELECT papple

COPY TO temp.dbf

在用SQLEXEC(n Connection Handle,c SQLCommand[,Cursor Name])进行远程数据处理时,其SQL命令必须符合ANSI或者T-SQL(微软的TRANSACTION SQL),因为命令是通过函数送到服务器上去执行的,语法必须遵守ORACLE中SQL语句的规则,而不是VFP的规则。凡符合ORACLE的规则的SQL语句,均可通过SQLEXEC()执行,但必须注意的是,我们只是为了能输出查询中间数据,进行报表管理、数据分析的二次开发,所以,在使用中,必须避免对后台数据库的更新、删除和插入等操作,以免产生非法NULL值或引起数据不一致。

B:存储过程的调用

在服务器上有一个存储过程,PROCEDURE Hot Line_Get Arrearages By YM(User Id VARCHAR2,--用户号YM in varchar2,--YM为年月(即201108这样的六位数字)Result Str IN OUT VARCHAR2--返回字符串varchar2),这是个和热线接口的程序,目的是根据用户号和年月,输出用户水量和水费的字符信息。

在VFP中,先定义返回值的变量,temp=''

userid='1000123456&&用户号

ym='201108'&&用水年月

ac=SQLEXEC(LJSql,"{call Hot Line_Get Arrearages By YM(?@userid,?@ym,?@temp)}")

?temp

"您2011年08月的水量为11吨,该月水费为28.6元"

C:自定义函数的调用

在服务器上有一自定义函数FUNCTION LOWER_TO_UPPER(p_num number)return varchar2,其目的就是把小写的金额转换成大写的金额。比如将"123.56"元转换成"¥壹佰贰拾叁元伍角陆分"

在VFP中,我们定义变量aa=123.56

ac=SQLEXEC(LJSql,"select lower_to_upper(?@aa)from dual","temp")

sele temp

brow

系统退出时,

=SQLDisconnect(LJSql)

运用实例:(略)

四、小结

利用VFP6.0技术对ORACLE9i数据库的调用,集合了VFP和ORACLE的各自优势,我们保存了中间统计基础数据,对系统中的报表统计,特别是数据关系复杂的月报、季报、年报进行了二次开发,即能保证数据信息的安全稳定性,系统中各关键点通过流程来得到有效控制,又能提高报表数据的统计速度,提高了新上线的水费营销系统的整体性能。

摘要:本文主要讲述在VFP6.0中利用API函数和SPT技术,动态链接ORACLE数据库,调用Orcale9i数据库中的数据表、存储过程和自定义函数的方法和技巧,进而在VFP中进行中间基础数据的输出,以便完成复杂的统计报表输出。

关键词:VFP,ODBC,ORACLE,SPT技术

参考文献

[1]VFP6.0使用手册及帮助文档.

VFP数据库论文 第9篇

在Visual Foxpro (以下简称VFP) 课程教学中我们发现学生基于VFP设计的管理信息系统作品中, 系统往往看重功能的正常实现而忽视了系统中的信息安全问题。虽然管理信息系统程序可以经由对用户进行系统培训后正确操作, 或者也可在用户对数据库进行的日常简单维护过程中为管理信息系统中数据的的完整性提供一定的保障。但是, 不可避免的某些用户的误操作就可能导致数据的错误, 影响了系统重要数据的正确性、合理性和一致性, 给软件的后期维护带来很大的麻烦。为了尽可能减小用户的误操作给后期数据维护人员带来的维护麻烦, 系统设计人员就应该通过一定技术手段避免用户进行误操作, 同时也应该通过一定的技术手段了解用户进行了哪些误操作。另外, 除了普通用户可以操作的一般数据外, 大量的重要数据也需要我们系统设计人员在设计阶段就要保证数据的完整性。所以, 基于以上的问题, 特提出VFP数据库的约束和触发技术以及在此基础上的应用实例。

1、VFP数据库表的基本约束技术

VFP与DOS操作系统下的dbase、Foxbase语言相比较而言一个明显的区别就是使用了数据库这一包含强大功能的技术, 使之成为一个真正意义上的数据库管理系统。VFP的表文件只提供基本属性定义, 而VFP的数据库则包含了表的各种扩展属性定义, 其中就包含了容易被忽视的可以实现约束机制的各种基本规则, 当然也包含了最关键的触发器 (Trigger) 技术。在某教学管理系统中有一个描述学生学习情况的数据库, 其中包含的部分数据库表有xs.dbf和cj.dbf, 其主要表结构及含义如表1和表2所示:

我们就可以通过VFP提供的Create-SQL等数据描述语句 (DDL) 和数据操纵语句 (DML) 来帮助我们实现这些规则的约束以保证数据库数据的完整性。按照关系数据库的理论要求, 对于数据库表的关键字来说应该要避免关键字值为空也不能重复。实现这些约束机制的命令及其区别如下:

1.1 空值 (NULL) 和字段级约束规则

1.1.1 关键字的空值约束规则的创建

实现关键字空值约束的命令语句如下:

Create Table XS (xh C (10) NOT NULL, xm c (8) , csrq D)

1.1.2 字段级约束规则的创建

实现关键字字段级约束规则的命令语句如下:

Create Table XS (xh C (10) Check Not IsNull (xh) Error“关键字值不许为空值”, xm c (8) , csrq D)

针对以上的空值约束规则或字段级约束规则来说, 无论用户是通过管理系统提供的可视化的界面还是通过命令方式实现对该数据库表的xh字段值的更新或插入新记录的操作, 当焦点离开该字段时VFP都会自动激发它的空值或字段级约束机制来检查该字段值是否为空值。如果为空值则会拒绝用户的修改或插入操作。

1.2 主索引或候选索引约束规则和表的约束规则

1.2.1 主索引或候选索引约束规则的创建

实现候选索引约束的命令语句如下:

Index On xh Tag xsxh Candidate

1.2.2 表的约束规则的创建:

实现表的约束规则的命令语句如下:

Create Table XS (xh C (10) , xm c (8) , csrq D, Set Check Not IsNull (xh) Error“关键字值不许为空值”)

VFP在进行了上述的空值和字段级约束规则检查之后且发生记录指针移动时, VFP都会自动激发它的主索引或候选索引约束规则以及表的约束规则机制来检查该xh字段值是否为空值。如果为空值则会拒绝用户的修改或插入操作。

对于以上的约束规则来说, 根据具体应用的具体要求, 除了空值约束外当然也可以实现其他条件的约束。而对于主索引或候选索引约束规则机制来说最重要的一点, 还会同时对关键字重复值进行检查约束。

实际上上述两大类的约束机制有一个缺陷, 规则只能是通过系统来自动实现约束检查。如果我们把可以实现各种自定义功能的用户自定义函数和VFP的约束规则联系起来, 那将会起到更好的事半功倍的效果。这就要用到数据库的强大的触发技术了。

2、VFP数据库的触发技术

数据库表的“触发器”实质上是一个记录级事件代码检测程序, 它是绑定在表上的逻辑表达式。触发器分为插入触发器 (Insert Trigger) 、更新触发器 (Update Trigger) 和删除触发器 (Delete Trigger) 三种。它们分别对应于对数据库表进行新增记录、更新记录以及删除记录操作时所触发的检测程序。

VFP允许对以上的插入、更新和删除中的任一种操作设定不同的规则, 该规则可以是普通的逻辑表达式或用户自定义函数。当表中的任何记录被三个操作之一修改时, 触发器将会被激活, 从而触发规则检测。若响应值为真值时, 表示触发成功, 所进行的操作就会被VFP接受。若响应值为假值时, 表示触发失败, 所进行的操作就会被VFP拒绝, 从而保障了数据库数据的完整性。

2.1 触发器规则的创建

继续以前面所述的对关键字的值不能为空值的约束条件为例, 创建表的插入触发器规则的命令语句如下:

CREATE TRIGGER ON xs FOR INSERT AS NOTISNULL (xh)

只要将以上命令中的INSERT保留字替换为UP-DATE或DELETE即可以实现更新触发器和删除触发器规则的约束了。

值得一提的是VFP触发器约束规则还可以是用户自定义函数, 这对于系统设计人员来说简直就是如虎添翼。

2.2 用户自定义函数的创建

在本文示例数据库中, xs表和cj表的数据应该要保证数据的一致性。例如在cj表中插入的记录的外部关键字值必须要与xs表中的主关键字的值对应。如果违反了上述的约定, 则会引起cj表中出现孤立记录。

为了保证VFP相关表数据的一致性, 可以通过VFP的数据库设计器创建xs表和cj表之间的参照完整性规则。创建完毕后通过观察xs表和cj表的触发器不难发现:在对存在永久关系的表之间创建参照完整性规则的时候, 实际上VFP会自动的在数据库的存储过程中创建实现参照完整性规则的逻辑自定义函数, 然后在相关表的触发器里面加以调用。根据这一方法, 系统设计人员当然也可以在存储过程中设计用户自定义函数以实现跟具体应用相关的功能。

对于普通用户的没有违反上述规则约束的操作之外的误操作来说, 作为系统设计人员有必要知道用户进行了哪些误操作。下面结合一个具体的实例来介绍一下借助于VFP触发器的激发机制如何帮助我们解决这一实际问题。

2.2.1 用户自定义函数的创建

首先, 通过modify procedure命令打开数据库的存储过程, 然后在存储过程里面创建自定义函数InsertLog () 。InsertLog () 函数的作用是借助于触发器的激发机制响应用户对数据库表文件中进行增加记录操作时, 对用户针对当前表的操作细节进行详细记载形成日志文件以方便后期数据维护。具体代码 (已对本文所涉表文件测试通过) 及相应注释如下:

2.2.2 用户自定义函数的调用

通过如下的三个命令以分别创建插入触发器、更新触发器和删除触发器规则:

假设用户对xs表插入了如下的记录 (部分字段) 值:

则通过插入触发器的自动激发机制, Insertlog () 用户自定义函数将会被调用, 并创建logxs.dbf表文件详细记载用户对xs表的操作。这样维护人员通过浏览logxs表文件内容就可以获知用户在什么时间对该表的xh和csrq字段添加了具体的什么样的值, 从而为数据的检测或恢复提供了可能。

3、结论

通过以上的几种约束手段, 不论用户是通过应用程序对表进行插入、更新、删除记录操作还是直接打开表进行交互操作, 都能通过VFP的约束规则的自动激发机制来对相应操作进行约束, 并可经由触发器激发调用用户自定义函数实现对表的所有操作记录进行详细日志记载, 为数据管理员成功解决数据的完整性问题提供了很大的帮助。同样, 经过我们如此指导的学生基于VFP的管理信息系统设计作品在质量上也上了一个新的台阶。

参考文献

[1]卢雪松, VisualFoxPro教程[M].东南大学出版社.2008.12.

[2]单启成, 新编VisualFoxPro教程[M].苏州大学出版社.2003.2.

VFP数据库论文 第10篇

1 Excel文件转换为VFP表文件

首先,excel文件中的数据必须是数据清单的格式,也就是第一行是标题,以下填充的是数据,可称为数据清单。下面介绍三种方法。

1)在Excel窗口中,光标定位在数据清单内,以保证是对数据清单进行转换。打开“文件”菜单,“另存为”选项,保存类型选择DBF3或DBF4,这样可以保存为后缀是.dbf的VFP表文件。这种转换数据类型有所变化,文本型->字符型,数值型->数值型,值为true/false的文本型->逻辑型,日期型->日期型。这样转换若是有时间型的数据会造成数据的丢失,变成日期型。

2)在VFP窗口中,打开“文件”菜单,“导入”选项,把导入文件类型改为Microsoft Excel 5.0,选择文件来源,若是工作簿中有多张表的话选择工作表,这时生成的文件名称总是和原文件相同。用VFP打开表,日期型的数据都还存在,只是所有字段都变成字符型。可以自己修改下表设计器里的字段类型。

3)在VFP窗口中,打开“文件”菜单,“导入”选项,在打开的对话框中点击“导入向导”按钮,按向导一步一步进行转换。

第一步:数据识别。选择文件类型Microsoft Excel 5.0,定位源文件和目标文件(即转换后的文件,可命名和选择文件位置,比较灵活)。如果想把目标文件放在某一个数据库中的话,还可以选择数据库。

第二步:定义字段类型。确定字段名在哪一行,导入的起始行在哪,以及选择工作表(如果该工作簿中有多张工作表的话)

第三步:定义输入字段。这时可以看到整张表了,如果类型需要改变的话可以重新选择,并可以设置各数据类型的显示格式,这时日期时间型的数据不会丢失。

2 VFP表文件转换为Excel文件

1)完全转换:打开“文件”菜单,“导出”选项,保存类型选择Microsoft Excel 5.0(XLS),这样可以保存为后缀是.xls的Excel文件。选择路径并命名文件,然后选择来源,点击确定即可。这样转换数据类型不变,字符型,数值型,逻辑型都变成Excel文件中的常规类型,日期型不变。

2)部分转换:打开“文件”菜单,“导出”选项,保存类型选择Microsoft Excel 5.0(XLS),这样可以保存为后缀是.xls的Excel文件。选择路径并命名文件,然后选择来源,点击“选项”按钮,可书写表达式选择输出符合条件的记录,然后点击确定即可。

3 结束语

通过以上方法转换基本可以达到日常应用的目标,如果为了保证导出格式的一致性,如设置行高、列宽、页眉、页脚等等,就需要使用Visual Basic语言了,很多文章[3-7]中都介绍如何用Visual Basic语言通过建立OLE对象来实现VFP表和Excel文件的转换,本篇不再赘述。

摘要:VFP和Excel都可以用来处理表格,该文介绍如何将Visual FoxPro表文件与Excel文件进行转换,将二者的优点结合起来,方便我们的工作。

关键词:VFP,Excel,表文件,Excel文件

参考文献

[1]Excel Home.Excel实战技巧精粹.北京:人民邮电出版社,2007.

[2]李淑华.Visual FoxPro6.0程序设计.北京:高等教育出版社,2009.

[3]曹大林,丁浩.在VFP中跨平台实现与Excel数据的互相转换[J].交通与计算机,2004,5(22):118-121.

[4]朱福珍.用EXCEL格式输出VFP中数据的途径[J].长沙通信职业技术学院学报,2009,8(3):38-41.

[5]吴利华.如何实现Excel文件与Visual FoxPro表文件数据共享[J].辽宁师专学报,2009,11(4):52-53.

[6]康从荚,毛家伟.Excel与VFP交互编程方法[J].临沂师范学院学报,2001,23(4):127-130.

VFP数据库论文

VFP数据库论文(精选10篇)VFP数据库论文 第1篇既然VFP的数据库功能已经被很多人所了解, 所以现在我就想谈谈VFP的非数据库应用。服务器对...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部