请问我怎么才能传递一个RecordSet?

cai12345 2003-09-14 05:35:15
我要在两台机器上传递一个由sql生成的RecordSet,由谁知道RecordSet的结构吗?我应该怎么传呢?
...全文
27 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ProgrameMan 2003-09-15
  • 打赏
  • 举报
回复
把recordSet保存成文件进行传送,然后接收后在打开。

最好利用ADO 的SAVE方法 保存成文件,然后接收端用ADO的OPEN方法打开,访问的方式就和结果集一样。

huanyun 2003-09-14
  • 打赏
  • 举报
回复
为什么要传RecordSet? 不如传SQL分别打开
zhaolaoxin 2003-09-14
  • 打赏
  • 举报
回复
思路不对
考试系统论文 摘要 随着计算机技术的普及和提高,计算机等级考试成为热门,等级考试的目的在于适应社会主义市场经济建设的需要,一方面是为了促进计算机知识的普及和计算机应用技术的推广,另一方面是为劳动力市场服务,即为劳动人员提供其计算机应用知识与能力的证实,为用人部门录用和考核工作人员提供一个统一、客观、公正的评价标准. 该系统用于用户登录、参加等级考试以及治理员进行试题录入、修改、删除、成绩查询、治理用户的ASP应用程序。它应该具有开放性、方便性和灵活性。治理员不仅可以轻松地向题库添加、修改和查询试题,而且还可以自动新增考试等级并建立相应的数据;它还答应用户根据自己的需求,选取考试等级。考生进行有效的身份验证登录后,选择考试等级,并要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提示。一旦考生做完交卷后便能立即看到自己的考试成绩,并且其分数将被记入库中以供审核和查阅;另外,还可完全由计算机自动灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,而且,不同的考生生成的试题是不同的。 系统选用的开发软件是ASP,后台数据库为ACCESS2000 系统的开发用结构化设计思想。本文介绍了考试系统的开发初衷和背景,系统的开发工具,结构化开发的具体步骤,其中包括实体-联系模型,数据流图,功能结构图等 关键字:考试试卷自动系统ASPvbscriptaccessresponserequest, Summary Alongwiththefastdevelopmentincomputertechnology,wehavegottenbigprogressinschoolscienceandinformationmanagement.Soitneedsequaldevelopmentineverypart.Theschoolwillbebuildinganinformationmanagementandeducationalplatfromhardwareandsoftwaretwosides.Idevelopedthissystemisinordertoreducetheteacherstesting,enhancethestudentssecrecy.Itcansavemorepeoplemoneyandtimethantraditionmethods. Thesystemisdedicatedtousersdownload,onlineexaminationandmanagersparticipateintheexaminationincluded,modify,delete,performanceenquiries,managementuserASPapplications.Itshouldbeopen,convenienceandflexibility.Managersnotonlytothedatabankcaneasilyadd,modifyandinquiryquestions,butalsocanautomaticallycreatenewexaminationgradingandthecorrespondingdata;Italsoallowsusersonthebasisoftheirownneeds,selectingexaminationgrades.Candidatesforeffectiveidentificationandrecorded,theselectionexaminationgrading,andrequestsinthetimeallowed,whenaprescribedtime,thesystemwillautomaticallybemade.Oncecandidateswillbeabletocompletehomeworkimmediatelyafterseeingtheirexaminationresultsandtheirscoreswillberecordedandputinstorage,forauditandinspection;Inaddition,thecomputercouldbecompletelyautomatedflexible,randomsamplesofthevarioustypesoftestquestionsfortheformationofvariousformsofpaper,itscontentwillchangewiththechangeintheexamination,but,differentcandidatesgeneratedquestionsaredifferent. ThesystemchoosesthesoftwareofdevelopmentthatuseisASP,andACCESS2000. Thesystemdevelopmentsadoptideaofconstructiondesigning.Thesystemmanualintroducedtheoriginalintentionandbackgroundofthisexaminationsystem,thetoolofdevelopmentofthesystem,thedetailsprocessofconstructiondevelopment,itcontenttheentity-model,thedatastreamchart,functionandconfigurationchart,andothernecessarychartexplanations. Keywords:testpaperautosystemASPvbscriptaccessresponserequest, 前言 计算机技术没有应用到考试上时,组织一次考试至少要经过五步,人工出题、考生考试、人工阅卷、成绩评估和试卷分析。教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常轻易出错的事情,明显的传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,应用不断扩大,如教学和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行等级考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习爱好。例如目前许多国际闻名的计算机公司所举办的各种认证考试绝大部分采用这种方式。 等级考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单, 使考试不受地域的局限。一个完备的等级考试系统可以使用户在网上学习过后及时检验自己的学习效果, 已发现自己的不足,使得学习效率得到很大提高。等级考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在 上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库, 而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展, 我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、 便捷的作用,把老师从繁重的工作中解脱出来! 目前,应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、 升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似, 客户端是一个标准的浏览器,服务器端是WebServer,而WebServer与数据库和应用服务器的紧密结合, 使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、 企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。 另外,考试系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。 基于上述考虑,用Browser/Web模式来设计考试系统比较合适,服务器端我们采用Access数据库系统和 ASP组件来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和治理。 利用和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用ActiveServerPage技术,我开发了基于B/S模式多用户等级考试系统这一程序。它运用方便、操作简单,效率很高。现阶段虽只实现了试卷的客观题部分,但已具有用户注册、多用户同时等级考试、动态随机出题、时间控制、自动判卷,试题录入、修改题库、用户治理、科目治理、治理员治理、分数治理等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题、出题和判卷等繁重的工作量。 第一章 系统设计相关原理 该在线考试系统主要采用ASP、HTML、Access数据库、VBScript、SQL等技术和工具〖本文来自论文路上,Www.Lw63.Com,专业毕业设计〗整体设计遵循软件工程的方法,经过需求分析、总体设计、文档和代码的编制、模块测试和系统实现几个阶段。下面就对这几种技术和方法做一个概述。 2.统一的语言 SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL 命令只需很少时间就能学会,最高级的命令在几天内便可掌握。 SQL为许多任务提供了命令,包括: ☆查询数据 ☆在表中插入、修改和删除记录 ☆建立、修改和删除数据对象 ☆控制对数据和数据对象的存取 ☆保证数据库一致性和完整性 以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。 3.是所有关系数据库的公共语言 由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。SQL是PostgreSQL(和大多数其它关系型数据库)用做查询语言的语言。它是可以移植的,并且容易学习使用。但是所有SQL语句都必须由数据库服务器独立地执行。这就意味着客户端应用必须把每条查询发送到数据库服务器,等待它处理这个查询,接收结果,做一些运算,然后给服务器发送另外一条查询。所有这些东西都会产生进程间通讯,并且如果客户端在另外一台机器上甚至还会导致网络开销。如果使用了 PL/pgSQL,那么可以把一块运算和一系列查询在数据库服务器里面组成一个块,这样就拥有了过程语言的力量并且简化SQL的使用,因而节约了大量的时间,因为用不着付出客户端/服务器通讯的过热。通过使用PL/pgSQL,应用可以获得可观的性能提升。 2.2 系统应该具备的基本功能 ☆用户注册:用户可以进行注册,然后登录。 ☆用户信息的管理:管理员可以增删用户 ☆试题模型设置:设置各科目试题的每种题型的数量和分值。 ☆试题库管理:分科目,对单选、多选两种题型试题库的管理,使试题的增删、编辑更为简便。 ☆试卷生成:可以指定试卷的各题型的数量,从试题库里随机抽取试题生成一份原始试卷。 ☆在线考试:系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。 ☆计算机自动阅卷:本系统只考虑客观题,要求计算机能自动阅卷,然后马上显示出考生分数。 ☆成绩查阅:考生考完以后,管理员应该能对所有纪录进行查询,并应该可以删除指定纪录。 除了实现上述功能以外,在线考试系统还应该具有友好、简洁的界面,安全性要高,稳定性要强,能够满足100人以上同时及进行在线考试。 3.3.3 用户、管理员权限 ☆管理员:在此系统中可以由若干个管理员,即系统管理员。他们具有一般用户所没有的权限,即具有管理用户、试题以及试卷等内容的权力。它不需注册,在数据库有一个表来存放相关信息,可由以存在的管理员添加或删除管理员。 ☆一般用户:主要是指学校的学生和企事业单位的培训对象等。 3.3.4 功能模块详细设计 下面,对各个功能模块分别进行详细讨论,具体情况见系统源程序。 3.3.4.1 管理模块 管理员可以向题库中添加各种类型且符合要求的试题,也可以对它们进行修改和删除。同时,管理员也能对科目、用户、考试记录等数据进行管理。 1. 试题管理 (1)试题录入 首先,用户选择试题所属科目。若菜单中没有该科目,则可以新增一个。返回、刷新一次页面,即可看到新增的科目名称。而且,在本系统中其它需要选择科目的地方也会自动更新。其次,每道试题有类型、试题内容与选项和答案等栏目。管理员输入完以后,即可看到预览效果。如果输入不合法,或者该科题库中已有该试题编号和内容等,则系统给出相应的提示或警告,以待更正。 (2)试题修改 管理员还可以对试题进行修改。不过,对于各表中的主键不用修改,避免了造成系统中的数据混乱,或者覆盖其它有用数据的现象。如果用户执行了非法操作,则必须重新操作。 (3)试题删除 管理员可以删除不再需要的试题。 2. 科目管理 (1)添加科目 其基本信息有科目名称、题型、题量和考试总时间等,对于用户输入的不符合系统要求的数据,系统仍旧给出提示或警告。 (2)科目删除 管理员可以删除不再需要的科目。 3.用户管理 管理员可以通过管理界面添加或删除用户。 4.管理管理员 管理员可以通过管理界面添加新管理员或删除原有管理员。 5.考试记录管理 系统中的管理员可以查询考试记录,也可以删除考试纪录。 3.3.4.2在线考试模块 进入在线考场是本系统最重要的部分之一。因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。考生登录后,只要选择考试科目以后,就可以调出试卷进行在线考试。为了实现动态随机不重复的抽取试题,需要在选题过程中每选出一题,就要在试题库中作相应的标志,以便下次不会重复取出此题。试卷出来后要对试题库中的标志位复原。这样就会使每个考生的试卷都不同。考生的其答题信息通过单、复选按钮选择答案来反映。考试结束采取自主交卷和到了规定的时间自动题示有机结合的方式办法予以实现。 3.3.4.2用户注册模块 该模块的功能是实现用户远程注册。用户输入想要注册的用户名和密码,提交之后由系统判断该用户是否已经存在,如果存在,就给出相应信息,如果不存在,就把用户输入的用户名和密码写到数据库中,完成注册。 该文件就是考试界面,实现真正的动态随机选题,并对每个考生的考试时间进行监控,到结束时间后自动给出提示。 该文件的总体构架是使用了if else 语句进行了一个选择,刚进入该页面submit1得值肯定不等于“开始考试”,所以先显示出“开始考试”的按钮。按下以后,首先把当前时间以分种为单位存储在session的变量starttime中。然后进入随机抽取试题部分,单选题和多选题的抽取很相似,只不过一个是单选按钮,一个是多选按钮罢了。这里只解释单选题的部分。 strid1=""是定义了一个字符串变量,并先赋值为空。 Randomize是产生随机种子,在使用rnd()函数之前一定要先用Randomize产生随机种子才能实现其产生0~1之间随机数的功能。 for i=1 to session("singlenumber")直到next是选择singlenumber(代表某科目的单选题数量)个单选题。 下面的代码实现了从数据库中随机不重复的选题: set rs=server.createobject("adodb.recordset") sql="select * from question where subjectname='"&session("selectsubjectname") & "'and type='单选题' and haveselect=0 " rs.open sql,conn,3,2 count=rs.recordcount temp=fix(count*rnd(10)) rs.move temp rs("haveselect")=1 rs.update strid1=strid1 & rs("ID") & "," 其中haveselect标志某题是否已经被选过。 Count变量用来存放所有未被选过的单选题的总数。 temp变量用来存放0~Count之间的随机整数值。 rs.move temp是将当前记录移到第temp条纪录。 rs("haveselect")=1是将当前选出的纪录的标志位设为1,然后用rs.update把数据库中的相应标志位改为1。 strid1=strid1 & rs("ID") & ","是将所有选出的试题的id号用逗号分割后存储在strid1一个变量中,以方便的把所有选出的试题的id号传到result.Asp文件中,这也是本设计的一个独特的地方。需要说明的是strid1变量的最后是一个逗号,在下一个文件中会详细说明如何进行处理。 在线考试系统的实现 摘要:人类已经步入了崭新的21世纪,以Internet技术为代表的信息技术为人类创造了一种新的不受地域、时间和计算机本身的约束的信息交流、共享和协作方式。21世纪是信息化的社会,数据信息应用已进入大规模的服务阶段。考试作为最直接的体现信息化社会中人们的知识水平的一种方式,是目前使用最为广泛的形式之一,传统的考试从出题、组卷、印刷,到试卷的分发、答题、收卷、再到判卷、公布成绩,整个过程都需要人工参与,周期长,工作量大,容易出错,还要有适当的保密工作,使的整个考试的成本较大。所以,实现无纸化、网络化、自动化的计算机考试系统,具有深远的现实意义和使用价值。 本系统采用B/S模式,采用现在使用广泛的ASP语言和对数据文件安全保护性极好的SQL Server2000设计开发出的一个实现在线考试的动态网站—基于Web的考试管理系统,也就是在线考试系统。该系统基本上具备一个网上数据传递的功能,具体分为用户层和管理层两大模块,用户层模块实现用户的考试、查询功能;管理实现题库的管理、试卷的生成、查询、修改、删除等功能。系统采用三层结构,统一的管理题库,自动组卷,自动判卷,极大的节省了人力、物力,提高了效率。 本文主要介绍了本课题的开发背景,所要完成的功能和开发的过程等,并给出了在开发过程中的一些经验体会。 关键词:B/S模式; WEB; 用户层; 管理层 Online Examination System To Achieve Abstract:We have got into the completely new 21Century, and as the typical of information technology, the internet creates a new way of information exchanged and shared for humans which isn’t restricted by the district, time, and computer itself. The 21-century is an informational society, in which the data information is exerted for a large service scale. The examination, as a way of directly embodying the knowledge of humans in the informational society, is one of the most common forms in present. However, humans have to participate into the whole process of traditional examination, whatever the stages of arranging examination are, such as, collecting the questions, printing, sending, and turning in paper, correcting answers or declaring the results, so that all these stages cause the long cycle, heavy workload, and more mistakes in the course of making an examination. Additionally, we also sometimes should pay attention to the secrecy. The above factors are enabling to raise the examination cost. So, to be the paperless, internalization, and automatic computer examination systems have confounded signification and valuable. Employing the B/S model, ASP language and the dynamic website developed by the SQL Server2000 and well protecting the data document---- on the basis of Web examination system, actually, the system has a basic foundation of sending internet dates, which is divided into two models, that is, the Consumer and the Administer. The Consumer is to be the foundation of the registration and landing, examination and inquired; the Administer is to be the foundation of the paper management, the paper formation, inquiry, amendment, and delectation. The system has three structures which are separately the unity of the paper management, automatic formation, and automatic correction, so it saves the labour, worthy, and improve the work efficiency. The paper mainly introduces the developing background, the foundations and the developing process, Meanwhile, we are sharing the experience from the developing. key words:B/S model ; WEB ; the costume; the domination 目 录 前言 1 1 在线考试系统的现状分析 2 2 开发工具简介和数据库技术 3 2.1 开发工具的选择 3 2.2 ASP简介 3 2.2.1 ASP概述 3 2.2.2 ASP的特点 3 2.3 SQL Server 2000简介 4 2.3.1 SQL Server概述 4 2.3.2 SQL Server的运行环境 7 2.3.3 SQL Server 安全性 7 2.3.4 SQL Server的特性 7 2.4 用来操纵数据的SQL命令 8 3 系统总体设计 9 3.1 系统需求分析 9 3.1.1 用户考试查询功能 10 3.1.2 系统管理员管理功能 11 3.2 系统功能模块设计 12 3.2.1 前台考试系统 12 3.2.2 后台管理员模块 12 3.3系统结构图 13 3.3.1 系统结构图 13 3.4实体关系图(ER图) 15 3.4.1 用户(学生或管理员)关系 15 3.4.2 试卷关系 15 3.4.3 题库关系 15 3.4.4考试过用户关系 16 3.4.5用户答题关系 16 3.5数据库的设计 17 3.5.1 数据库需求分析 17 3.5.2 数据库逻辑设计 17 3.5.3 数据库连接文件 19 4 系统功能模块 20 4.1前台考试模块 20 4.1.1 考试用户登陆模块 20 4.1.2 验证用户模块 21 4.1.3 考试开始模块 22 4.1.4 考试结束模块 26 4.2后台管理员模块 28 4.2.1 管理员登陆模块 29 4.2.2 试题创建模块 30 4.2.3 题库管理模块 31 4.2.4 试卷管理模块 34 4.2.5 考生管理模块 36 4.2.6 成绩统计模块 38 5 结束语 43
第一天 我认为ASP.NET比ASP难很多,希望大家做好准备。难难在实现同一个效果有很多方法,大家或许会疑惑。十天学会系列教程会清晰的写出各种方法,让大家能少一点坎坷。在ASP里面,大家几乎都是使用VB,数据库嘛,也无非是SQL和ACCESS。在ASP.NET里面,数据库还是这两个但是常用的语言多了一个C#,也是微软推荐的语言,为.NET平台定制的语言。这样ASP.NET就有四种组合:VB+ACCESS,VB+SQL,C#+ACCESS,C#+SQL,本教程会使用C#+ACCESS,兼顾四种来写,让大家对ASP.NET有一个全面的认识。虽然说学习ASP.NET不需要任何ASP基础,但是我觉得如果大家ASP不会,还是先看一下【十天学会ASP教程】,大家所需要了解的不是ASP的程序怎么写,而是怎么构建服务器,怎么使用HTML表单,同时对SQL语句有一个基础和理解,因为在本文里我不会将将一些基础的东西。 废话不多说,开始我们第一天的学习: 学习目的:调试出安装环境 我要申明一点,操作系统就用2000,如果说要学习一个网络语言还不肯多装一个操作系统的话,那我看也不要学习了。 先到网上下载一个MDAC(要是2.7以上的版本才行),然后安装,安装以后或许会重新启动一次。 然后再下载一个.NET FRAMEWORK SDK,安装以后会在控制面板里面的管理工具里面多两个东西,这个不用理睬他,我们要使用的还是原来的INTERNET服务管理器。打开它按照ASP教程里面的调试方法建立一个目录,建立一个EXAMPLE1.ASPX,然后用记事本打开这个文件在里面输入 <script language="c#" runat="server"> void Page_Load() { Response.Write("Hello World!"); } sub page_load() response.write("Hello World!") end sub 分割开,大家可以比较一下。2、我写教程的时候用的都是记事本来编写APS.NET大家也可以安装VS.NET来编写不过起步还是用记事本比较好,因为可以看的更加透彻一点。今天就说到这里,明天说一下C#的基本语法。 十天学会ASP.net(2) 作者:佚名 阅读人次:11611 文章来源:未知 发布时间:2005-6-24 网友评论(4)条 第二天 学习目的:掌握C#的基本知识 一、定义变量: string strExample; 字符串("aaa") char chrExample; 字符('a') bool blnExample; Bool型(true/false) DataTime datExample; 日期型("09/19/2002") int intExample; 整数(32位有符号整数) double dblExample; 浮点数(64位双精度浮点数) 二、各种运算: = 赋值运算 + 加法运算 - 减法运算 * 乘法运算 / 除法运算 % 取模运算 && 逻辑And || 逻辑Or ! 逻辑Not 三、各种结构: if(条件) { } else { } switch(条件) { case option1: break; case option2: break; } for(int i=1;i<=10;i++)//特别注意这里面是分号 { } while(条件) { } do { }while(条件); 四、注意事项: 1、用习惯VB的人很容易漏了语句末尾的分号; 2、用习惯VB的人很随便使用变量但是不申明,这在C#默认情况下是不允许的; 3、在向函数传递参数的时候要用圆括号:Response.Write "aa";是不允许的。 我说的这点几乎称不上是在说一种语言,一种语言的学习不仅仅需要学习语法,还需要学习语言特色,希望大家有空还是买一本C#的书来好好研究一下C#作为一种新的语言的特性吧。 十天学会ASP.net(2) 作者:佚名 阅读人次:11611 文章来源:未知 发布时间:2005-6-24 网友评论(4)条 第二天 学习目的:掌握C#的基本知识 一、定义变量: string strExample; 字符串("aaa") char chrExample; 字符('a') bool blnExample; Bool型(true/false) DataTime datExample; 日期型("09/19/2002") int intExample; 整数(32位有符号整数) double dblExample; 浮点数(64位双精度浮点数) 二、各种运算: = 赋值运算 + 加法运算 - 减法运算 * 乘法运算 / 除法运算 % 取模运算 && 逻辑And || 逻辑Or ! 逻辑Not 三、各种结构: if(条件) { } else { } switch(条件) { case option1: break; case option2: break; } for(int i=1;i<=10;i++)//特别注意这里面是分号 { } while(条件) { } do { }while(条件); 四、注意事项: 1、用习惯VB的人很容易漏了语句末尾的分号; 2、用习惯VB的人很随便使用变量但是不申明,这在C#默认情况下是不允许的; 3、在向函数传递参数的时候要用圆括号:Response.Write "aa";是不允许的。 我说的这点几乎称不上是在说一种语言,一种语言的学习不仅仅需要学习语法,还需要学习语言特色,希望大家有空还是买一本C#的书来好好研究一下C#作为一种新的语言的特性吧。 十天学会ASP.net(4) 作者:佚名 阅读人次:8772 文章来源:未知 发布时间:2005-6-24 网友评论(7)条 第四天 学习目的:掌握WEB控件的使用(二) 首先我要说明,我这十天教程也只是一个让大家对ASP.NET有一个认识而已,我也跳过了很多东西。网上有很多人在责骂我写的教程,认为十天什么都学不会,看了我的教程还是什么都不会,我想他们或许是过高估计了我的教程。外面有很多书,关于ASP和ASP.NET的,我就是看外面的书学会的。我所要做的就是希望大家能看了我的教程以后觉得ASP和ASP.NET不是学不会的东西然后有信心去学会它。我想学习还是靠自己的,外面每一本书也有自己写的不周到的地方,关键还需要自己的实践加上探索。 首先来说一下表单的验证控件,以前我们做表单验证,如果是客户端的JAVASCRIPT,不能做到美观统一,而且还可以通过直接在浏览器起教表单来屏蔽;如果我们做服务器端验证,又会发现让检验结果在前台反映也是很麻烦的事情。现在好了,ASP.NET提供的很多检验控件让我们不需要考虑是客户端检验还是服务器端检验,让我们不需要考虑是怎么输出检验结果。 看一下检验表单控件是不是填写了的检验控件先: controltovalidate就是你想检验的控件的ID;默认情况下不显示错误消息,地方也会被保留,如果使用了display="dynamic" 那么不显示错误消息的地方不会被空出; forecolor="#ff0000" font-name="宋体" font-size="9pt" 就是设定错误消息字体的颜色,字体,大小的;text="请填写" 就是当没有填写内容时候显示的错误消息;别忘记最后的runat="server"。现在这个检验控件是放在了textbox的后面,那么错误消息也在textbox后面显示,也可以放在其他地方。 再看一下比较表单控件的数据与另外一个数据的检验控件: 这里是第一个需要用户填写的密码框 我们经常会再设立一个密码框让用户再填写一次: controltocompare="password1" 就是需要比较的控件;operator="equal" 就是设定比较操作是:是否相等(还有NotEqual:不相等,LessThan:少于,GreaterThan:大于,当不符合这个比较操作的时候显示错误消息)。 以前说到BUTTON控件CausesValidation=true/false来设置按钮提交的表单是不是被检验也就是这里的几个检验控件,如果CausesValidation=true的话按下按钮就会首先检测是不是都通过了检验控件的检验。 下面再说两点: 一、每一个可以显示的控件都有是不是显示的属性,比如username.Visible=false;就是隐藏了前面的username控件;还有就是如果要对控件应用CSS的话就这么写:cssclass="",而不是以前HTML中的class=""。 二、所有WEB控件都要包含在
中,否则就会出错。 今天就到此结束,请继续往后面看,下次开始就要说ADO.NET了。 十天学会ASP.net(5) 作者:佚名 阅读人次:8013 文章来源:未知 发布时间:2005-6-24 网友评论(6)条 第五天 学习目的:学会连接两种数据库 对于ASP来说,我们常用的数据库无非是ACCESS和SQL SERVER,对于ASP.NET也是,不过ASP.NET对于SQL SERVER有专门的连接组件而不推荐用OLE DB。 首先看一下ACCESS的连接数据库并打开; string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath("*.mdb"); //*就是数据库的名字 OleDbConnection objConnection=new OleDbConnection(strConnection); objConnection.Open(); ________________________________________ dim objConnection as OleDbConnection objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("*.mdb")) objConnection.Open() 下面再看一下SQL SERVER的连接数据库并打开; string strConnection="server=数据库连接;uid=用户名;pwd=密码;database=数据库名字"; SqlConnediob objConnection=new SqlCOnnection(strConnection); objConnection.Open(); ________________________________________ dim objConnection as SqlConnectiom objConnection=new SqlConnection("server=数据库连接;uid=用户名;pwd=密码;database=数据库名字") objConnection.Open() 实际上,在大多数地方SQL SERVER和ACCESS的区别除了连接语句,其他定义语句也就是SQL××和OLEDB××的区别 另外,如果是ACCESS数据库的话在ASPX文件的开头需要包括下列语句: <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.OleDb"%> 如果是SQL SERVER则需要包括以下语句: <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.SqlClient"%> 今天就说到这里,明天开始讲数据库的读取。 十天学会ASP.net(6) 作者:佚名 阅读人次:7634 文章来源:未知 发布时间:2005-6-24 网友评论(4)条 第六天 学习目的:学会读取数据库 有的网友说,不会C#,在ASP.NET里面还是选择VB.NET,这个我不反对,但是我觉得既然是学习新的东西,就不要在意有多少是新的。实际上C#就一般的操作来说,只是区分大小写和多了一个分号这两点与VB.NET不同其他都差不多啊。在ASP里面我们读取数据就直接用RECORDSET,然后在HTML代码里面穿插<%= %>就可以显示了,但是ASP.NET讲究的是代码分离,如果还是这样显示数据就不能代码分离了。所以我们有两种方法:如果是读取一条记录的数据或者不多的数据,我们用DATAREADER采集数据,然后赋值给LABEL控件的Text属性即可;如果是读取大量数据我们就采用DATAGRID。 今天我们就来说一下DATAREADER: string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath(strDb); OleDbConnection objConnection=new OleDbConnection(strConnection); OleDbCommand objCommand = new OleDbCommand("这里是SQL语句" , objConnection); objConnection.Open(); OleDbDataReader objDataReader=objCommand.ExecuteReader(); if(objDataReader.Read()) { oicq.Text=Convert.ToString(objDataReader["useroicq"]); homesite.Text=Convert.ToString(objDataReader["usersite"]); face.SelectedItem.Text=Convert.ToString(objDataReader["userface"]); } 大家可以看到我们首先是连接数据库然后打开,对于select的命令,我们申明一个OleDbCommand来执行之,然后再申明一个OleDbDataReader,来读取数据,用的是ExecuteReader(),objDataReader.Read()就开始读取了,在输出的时候我们要注意Text属性接受的只能是字符串,所以我们要把读出的数据都转化为字符串才行。 转换变量类型函数: 转换为字符串:Convert.ToString() 转换为数字:Convert.ToInt64(),Convert.ToInt32(),Convert.ToInt16() 是按照数字位数由长到短 转换为日期:Convert.ToDateTime() ________________________________________ dim objConnection as OleDbConnection dim objCommand as OleDbCommand dim objDataReader as OleDbDataReader objConnection=new OleDbConnection(Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(strDb)) objCommand=new OleDbCommand("这里是SQL语句" , objConnection) objConnection.Open() objDataReader=objCommand.ExecuteReader() if objDataReader.Read() oicq.Text=Convert.ToString(objDataReader["useroicq"]) homesite.Text=Convert.ToString(objDataReader["usersite"]) face.SelectedItem.Text=Convert.ToString(objDataReader["userface"]) end if 其实大家比较一下C#和VB的语法,会发觉用C#似乎更加简单,教程里面我侧重C#,对于VB的代码我就不解释了。 下面说一下如果代码是读取SQL数据库,我们这样来转变 1、把代码开始的 <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.OleDb"%> 修改为 <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.SqlClient"%> 2、把代码里面所有申明的对象OleDb××变为Sql××就这么简单 你甚至可以用替换所有来解决,所以今后我讲不再列出Sql Server的代码了。 今天就说到这里,明天开始说数据的添加、删除、修改。 十天学会ASP.net(7) 作者:佚名 阅读人次:6818 文章来源:未知 发布时间:2005-6-24 网友评论(4)条 第七天 学习目的:学会添加删除修改记录 以前我们在ASP中不管是添加还是删除记录或者用SQL语句加上EXECUTE()或者就是直接用RECORDSET的NEW、DELETE、UPDATE等方法来添加删除修改记录。在ASP.NET里面我们采用SQL语句加上COMMAND对象来执行SQL语句的方法来添加删除修改记录。这比上次说的读取记录还简单。实际上只有一点区别,把ExecuteReader()修改为ExecuteNonQuery()即可,因为我们不需要返回值啊。 string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath(strDb); OleDbConnection objConnection=new OleDbConnection(strConnection); OleDbCommand objCommand = new OleDbCommand("这里是SQL语句" , objConnection); objConnection.Open(); OleDbDataReader objDataReader=objCommand.ExecuteNonQuery(); ________________________________________ dim objConnection as OleDbConnection dim objCommand as OleDbCommand objConnection=new OleDbConnection(Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(strDb)) objCommand=new OleDbCommand("这里是SQL语句" , objConnection) objConnection.Open() objDataReader=objCommand.ExecuteNoQuery() 下面再举例子说明一下SQL语句(ACCESS): 添加记录: insert int o 表名 (字段1,字段2) values (字符串1,字符串2) where 条件 删除记录: delete from 表名 where 条件 修改记录: update 表名 set 字段1=××,字段2=×× where 条件 需要特别注意,如果是Sql Server删除记录是delete 表名,不需要再加from了。 今天就说到这里了,明天说ASP.NET里面最著名的DATAGRID。 十天学会ASP.net(8) 作者:佚名 阅读人次:6674 文章来源:未知 发布时间:2005-6-24 网友评论(7)条 第八天 学习目的:初步掌握DATAGRID的使用 以前在ASP中,我们显示大批量数据经常使用循环读取记录集的方式,在表格中插入代码来显示,循环的是,如果是分页还需要自己制作,如果排序更加复杂,在ASP.NET中就好了,一切工作都可以让DATAGRID来做。 首先看一下DATAGRID的样式方面的属性 BackImageUrl="" 背景图片 CellSpacing="" 单元格间距 CellPadding="" 单元格填充 cssClass="" 使用的CSS样式 DATAGRID可以自动用表中的字段名放在显示的记录的头部来表示各个单元格所代表的意义,用ShowHeader="true/false"来控制是不是显示,在大多数情况下我们是不需要这个功能的,因为我们数据库中的字段名大多是英文的,而我们想在页面输出的大多是中文名字。 下面看一下显示数据库内所有记录,就几行代码: <script runat="server" language="c#"> void Page_Load() { string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath("guestbook.mdb"); OleDbConnection objConnection=new OleDbConnection(strConnection); OleDbCommand objCommand1 = new OleDbCommand("select * from guestbook",objConnection); objConnection.Open(); dgrdMain.DataSource=objCommand1.ExecuteReader();//dgrdMain就是下面的DATAGRID的ID dgrdMain.DataBind(); objConnection.Close(); } 至于VB的版本,这次大家自己来试试吧:) 假设数据库是三个字段:id,aa,bb 显示的样子就如下: id aa bb 1 werwe rewrwe 2 werwe rewrwe 我们一定觉得这种显示不满意,我们有两种显示的方式(需要包括在中间): 一、默认的列,我们可以选择不输出所有的字段还可以安排顺序: 比如说我们想按照bb,aa来输出这个表,我们这么写 注意使用了autogeneratecolumns="false"以后DATAGRID就不会自动输出所有字段了。 二、以模板列,我们可以定制每一个单元格的样式: 中间是一个表格,想怎么样就怎么样 或许你们要说怎么在表格中输出代码那,可以使用<%# DataBinder.Eval(Container.DataItem,"字段名").ToString()%> 下面看一个例子,我们所要做的就是把aa,bb两个字段放在一个单元格内显示,就好像下面一样: 1 werwe rewrwe 2 werwe rewrwe 我们这样写代码: 首先使用默认的显示方式显示ID 再使用模板来显示后面一列(由AA,BB并列组成)
<%# Container.DataItem("aa")%>
<%# Container.DataItem("bb")%>
今天就说到这里,明天我们来看一下DATAGRID的分页显示等功能 十天学会ASP.net(9) 作者:佚名 阅读人次:5514 文章来源:未知 发布时间:2005-6-24 网友评论(7)条 第九天 学习目的:学会用DATAGRID分页显示 虽然说DATAGRID的分页显示效率不怎么高,但是不管怎么说,它是最方便的分页显示,对于做一个留言簿还是相当简单实用的。对于启用分页功能还有一个重要要求,只能在DATADRID控件的数据源实现了ICOLLECTION接口的情况下才能启用分页功能,而DATAREADER没有这个接口,所以必须使用DATATABLE来代替。 <script runat="server" language="c#"> void Page_Load() { string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath("guestbook.mdb"); OleDbConnection objConnection=new OleDbConnection(strConnection); OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection); DataSet objDataSet=new DataSet(); objDataAdapter.Fill(objDataSet); dgrdMain.DataSource=objDataSet; dgrdMain.DataBind(); } void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e) { dgrdMain.CurrentPageIndex = e.NewPageIndex; DataBind(); } ________________________________________ <script runat="server" language="vb"> subPage_Load dim objConnection as OleDbConnection dim objDataAdapter as OleDbDataAdapter dim objDataSet as DataSet objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("guestbook.mdb")) objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection) objDataSet=new DataSet objDataAdapter.Fill(objDataSet) dgrdMain.DataSource=objDataSet dgrdMain.DataBind() end sub sub dgrdMain_PageIndexChanged(sender as object,e as datagridpagechangedeventargs) dgrdMain.CurrentPageIndex = e.NewPageIndex DataBind end sub 这样就是最简单的分页,我们可以用参数pagestyle-mode="nextprev/numericpages"来设定是显示上一页、下一页方式还是直接选择页面的数字方式来实现页面跳转。如果是前者我们可以用pagestyle-nextpagetext来设定包含下一页链接的文本,用pagestyle-prevpagetext来设定包含上一页链接的文本;如果是后者我们可以用PagerStyle-PageButtonCount来设定在使用省略号之前显示的页面编号数量(默认是10) 今天就说到这里,明天说一下SESSION和COOKIE。 十天学会ASP.net(10) 作者:佚名 阅读人次:5305 文章来源:未知 发布时间:2005-6-24 网友评论(8)条 第十天 学习目的:学会SESSION和COOKIE的使用 在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSION和COOKIE。在ASP.NET中使用COOKIE比ASP中稍微麻烦一点,因为我们要申明变量。 首先看一下SESSION的使用,基本和ASP差不多 写入一个SESSION: Session["username"])="aa"; ________________________________________ Session("username")="aa" 读取一个SESSINN: string username= Session["username"]; ________________________________________ dim username=Session("username") 再来看一下COOKIE的写入: DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间 HttpCookie mycookie=new HttpCookie("logname");//申明新的COOKIE变量 mycookie.Value="aa";//赋值 mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//设定过期时间为1天 Response.Cookies.Add(mycookie1);//写入COOKIE ________________________________________ dim dt as DateTime dt=DataTime.Now dim mycookie as HttpCookie mycookie=new HttpCookie("logname") mycookie.Value="aa" mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1)) Response.Cookies.Add(mycookie1) 看一下COOKIE的读取: HttpCookie mycookie=Request.Cookies["username"]; string username=mycookie.Value; ________________________________________ dim mycookie as HttpCookie mycookie=Request.Cookies["username"] dim string=mycookie.Value 到此《十天学会ASP.NET》结束了
一个关于在线考试的web系统,具有试卷生成功能的ASP+SQL Server源码-an examination of online web system, Generating function papers with the ASP SQL Server source code ======================== 考试系统论文 摘要 随着计算机技术的普及和提高,计算机等级考试成为热门,等级考试的目的在于适应社会主义市场经济建设的需要,一方面是为了促进计算机知识的普及和计算机应用技术的推广,另一方面是为劳动力市场服务,即为劳动人员提供其计算机应用知识与能力的证实,为用人部门录用和考核工作人员提供一个统一、客观、公正的评价标准. 该系统用于用户登录、参加等级考试以及治理员进行试题录入、修改、删除、成绩查询、治理用户的ASP应用程序。它应该具有开放性、方便性和灵活性。治理员不仅可以轻松地向题库添加、修改和查询试题,而且还可以自动新增考试等级并建立相应的数据;它还答应用户根据自己的需求,选取考试等级。考生进行有效的身份验证登录后,选择考试等级,并要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提示。一旦考生做完交卷后便能立即看到自己的考试成绩,并且其分数将被记入库中以供审核和查阅;另外,还可完全由计算机自动灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,而且,不同的考生生成的试题是不同的。 系统选用的开发软件是ASP,后台数据库为ACCESS2000 系统的开发用结构化设计思想。本文介绍了考试系统的开发初衷和背景,系统的开发工具,结构化开发的具体步骤,其中包括实体-联系模型,数据流图,功能结构图等 关键字:考试试卷自动系统ASPvbscriptaccessresponserequest, Summary Alongwiththefastdevelopmentincomputertechnology,wehavegottenbigprogressinschoolscienceandinformationmanagement.Soitneedsequaldevelopmentineverypart.Theschoolwillbebuildinganinformationmanagementandeducationalplatfromhardwareandsoftwaretwosides.Idevelopedthissystemisinordertoreducetheteacherstesting,enhancethestudentssecrecy.Itcansavemorepeoplemoneyandtimethantraditionmethods. Thesystemisdedicatedtousersdownload,onlineexaminationandmanagersparticipateintheexaminationincluded,modify,delete,performanceenquiries,managementuserASPapplications.Itshouldbeopen,convenienceandflexibility.Managersnotonlytothedatabankcaneasilyadd,modifyandinquiryquestions,butalsocanautomaticallycreatenewexaminationgradingandthecorrespondingdata;Italsoallowsusersonthebasisoftheirownneeds,selectingexaminationgrades.Candidatesforeffectiveidentificationandrecorded,theselectionexaminationgrading,andrequestsinthetimeallowed,whenaprescribedtime,thesystemwillautomaticallybemade.Oncecandidateswillbeabletocompletehomeworkimmediatelyafterseeingtheirexaminationresultsandtheirscoreswillberecordedandputinstorage,forauditandinspection;Inaddition,thecomputercouldbecompletelyautomatedflexible,randomsamplesofthevarious

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧