(高职生)
重庆三峡职业学院
毕业论文中文标题 商品网络防伪查询系统
英文标题Network Security Inquiries System for Commodity
学生姓名 尹 晓 琼
指导教师 
学 院 重庆三峡职业学院
系 院 自动化与信息工程系
专 业 电子信息科学与技术
年 级 2 0 0 6级
诚信责任书
本人郑重声明:本人所呈交的毕业论文(设计),是在导师的指导下独立进行研究所取得的成果。毕业论文(设计)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或在网上发表的论文。
特此声明。
论文作者签名,
指导老师签名,
日 期,

目录论文摘要……………………………………………….………………………………………………..2
引言 4
1.商品网络防伪查询系统的特点及原理………………………………….…………………………..5
1.1商品网络防伪查询系统的特点…………………………………….………………………….5
1.2商品网络防伪查询系统的基本原理…….…………………….………………………….……6
2.商品网络防伪查询系统的具体构架 ….7
3.商品网络防伪查询系统的相关构成设计与组合实现 8
3.1网站的建立与网页查询界面的设计制作……………………………………………..………8
3.2系统数据库的构建………………….……………………………………………………….....8
3.3商品防伪相关工艺流程………………………………………………………………….……17
4.随机数理论的研究………………………………………………………………………………..…18
4.1随机数在防伪系统的应用………………………………………………………………….…18
4.2系统随机数的缺陷………………………………………………………………………….…18
4.3系统随机数的合理设计…………………………………………………………………….…19
5.商品网络防伪查询系统的缺陷研究………………………………………………………….……20
5.1数码加载方面的缺陷………………………………………………………………………....20
5.2适用范围的缺陷…………………………………………………………………………….…20
5.3特定情况下可能存在的安全方面的缺陷………………………………………………….…20
5.4其他情况的缺陷…………………………………………………………………………….…20
6.网络防伪查询的可行性建议…………………………………………………………………….…21
6.1查询率低………………………………………………………………………………..……...21
6.2安全性…………………………………………………………………...………………….….21
6.3为商品设立电子档案进行防伪…………………………………………………………….…21
总结 .22
参考文献 .23
致谢……………………………………………………………………………………...…………….24
附录……………………………………………………………………………………………………25
附录1 运行microsoft visual studio 2005后的生成文件………………………………………25
附录2 以C语言为例产生并输出100个随机数的程序…….…………………………………30

商品网络防伪查询系统作者 尹晓琼
重庆市万州区重庆三峡职业学院
摘要网络防伪查询技术是现代化防伪技术中使用最广泛并最具发展潜力的一种,它与其他种类的防伪技术相比拥有着众多方面的优势。本文以介绍网络防伪查询系统的特点和工作原理做为开端,陆续介绍了网络防伪查询系统的具体框架和组合方式,研究了数据库部分与相关部分的设计方法并做出一个简单模拟防伪查询系统网页,详细研究了与系统安全性能息息相关的随机数理论,最后对网络防伪查询系统在现阶段存在的一些缺陷并针对其做出改进。
关键词:防伪查询,缺陷,随机数
Network Security Inquiries System for Commodity
Author:YinXiaoQiong
School of Information Science &Engineering,ChongQingSanXia University,ChongQing,China
Abstract
Network security inquiries technology is the most widely used and the most potential to develop in modern anti-counterfeiting technology,and has much more advantages than other types of anti-counterfeiting technology,In this paper,it introduces network security system for the characteristics and working principle at first,then introduces a network security system for the concrete framework and composition,designs the part of the database and any other relevant parts of the system and makes a simple simulation system for web security,A detailed study of random number which is closely related to the system security random number theory then has been reserched,and the improvement to the shortcomings in the modern network security inquiries technology at last.
Key words,Inquiries for network security,defects,random number
引言网络防伪查询技术是综合运用现代计算机技术、网络通讯技术、数据编码技术和高科技印刷技术以及现代管理技术于一体的防伪技术。它的基本原理是通过数据库系统对每一件产品生成一个数字标识,消费者购买商品以后通过特定的方式如短信或网页来查询这个唯一的数字标识以确认产品的信息和安全性。在特殊情况下,标识的查询可以限定查询次数来防止别人重复利用该标识而带来管理混乱和安全隐患。
网络防伪查询技术包括两部分,一是数据密码生成技术。即对需要防伪的商品设计一组各不相同的数字码,并配上相应的密码,并将其制作成防伪标识附在商品上;二是带防伪标识的联网核验技术。对携带有核验的信息码,采用计算机网络技术,通过网络设备核验产品真伪。目前核验可以通过电话、手机短信和上网进行。本论文采用网页验证的方式。
运用网络防伪查询技术来鉴定商品质量和真伪已成为一种有效、可靠的手段。随着网络技术和信息化的不断深入发展,网络防伪查询技术的应用范围会越来越广,使用网络防伪查询系统可以简易快捷地完成商品鉴定工作,使其更好地服务于社会。

1,商品网络防伪查询系统的特点及原理
1.1 商品网络防伪查询系统的特点:
1) 标识的唯一性标识的唯一性是指对每一个商品都有唯一的一个数字标识,同类的商品也会有不同的数字标识,这就使得一个数字标识被获得也无法进行仿造,体现了其特殊性。
2) 使用的一次性一次性是指对于暗码刮开的商品标签涂层,用过一次即告报废。
3) 防伪的安全性防伪的安全性是通过数据库对数字标识的严格控制来实现的。数字标识是通过商品所在公司可靠的质量认证中心统一制订发布的,通过网络技术、数据库技术等的保障,防伪的安全性可以达到最佳。在产品未出厂前,能获得数字标识的只有数据库系统和厂商,数字标识准确且可靠。
4) 查询的简易性数据密码生成技术是对需要防伪的商品设计一组各不相同的数字码,为其配上相应的密码并将其制作成防伪标识附在商品上,不需要很高的技术支持和设计成本,用户验证也只需要在网络或者电话中输入这串数字即可达到辨别真伪的目的,无论对于产品生产厂商还是消费者操作上都非常简易。
5) 管理的统一性数码密码的生成和管理都是由数据库系统完成的,甚至可以将多个企业的不同种产品进行统一的管理,这样就方便了企业用户统一维护自己的产品信息。对于数码标识,企业所需要做的只是告知数据库系统产品信息和数量,其余的工作都是由数据库系统完成的,管理上更方便统一。
6) 市场的助益性成熟的商品网络防伪查询系统可以帮助市场调节自身不足,发挥其最大功用。
7) 功能的可拓性由于每个产品都有一个不同的唯一的数字标识,这也就使得生产厂商可以通过这些数字标识确定每一个产品的情况,以及根据每一个不同的产品来进行更多样化的售后服务等内容,同时也可以根据实际情况针对各个产品扩展设计一些其它的功能。
如:数据库可根据用户要求完成查询,并记录产品此次查询情况,最终将产品的真伪信息反馈给用户,而后系统的积分记录模块在经用户许可的情况下将正在查询的用户信息进行记录(对当前没有身份认证信息的用户记录其详细信息,并记录其正在查询产品的积分值;对已存在信息的用户进行记录或增加其正在查询产品的积分值)。 查询统计模块根据产品的查询情况,定期统计生成查询报表,以便厂家用于产品统计。积分统计模块根据记录的用户身份认证信息和产品的查询情况,统计并产生对应产品用户积分值,厂家可用此积分值进行酬宾活动。
由此可看出,在延展性上,数码防伪系统相比其它防伪系统有着其特殊的优势。
8) 成本的低廉性传统防伪方式从本质上说,都是采用更高等、更复杂的制造工艺和技术,使得伪造者无法仿制的完整。但是随着技术的进步,伪造者的仿制工艺和技术也在不断进步,这就需要不断的提升防伪技术,但是过多的防伪技术又提高了产品的成本,会对消费者的利益造成一定损失。现代化的网络防伪查询技术则对资源进行最优化整合,使得消费者和厂家的成本损失都达到最低。
1.2 商品网络防伪查询系统的基本原理数码防伪查询技术是通过计算机技术给每一件合格产品生成一个特定长度的、唯一和安全的防伪数码,并将防伪数码印制在某种标识载体上随商品或包装流通,消费者可通过电话或网络等其它查询方式把防伪数码传回计算机"数码查询信息系统"进行验证,从而达到防伪的目的。
下图为电讯平台的防伪查询系统,与本文中的网络防伪查询系统原理机制相同。

2.商品网络防伪查询系统的具体构架商品网络防伪查询系统的具体构架简单的来说应该分两部分:数据服务器上装的是数据库,WEB服务器上放的是网站。为了方便用户需要,系统框架设计成B/S结构——即浏览器(Browser)/服务器(Server)结构。B/S结构可以在不同的网络应用环境中使用,兼容性好,而且不需要独立设计客户端,系统开发、维护和升级更加容易实现,而且开放性强,结构易于扩展。所以,在网络防伪查询系统结构模型的选择上,应该选择B/S结构,以满足不同群体用户的需要。浏览器收集到用户提交的信息,提交给后台服务器程序处理,处理完成,将结果通过网页的形式反馈给用户。实际处理数据是由数据库的存储过程完成的。
从本质上说,Web服务器相当于一个隔离带,将数据库里的信息与用户隔离,这样既方便用户使用,也可以达到保证数据库系统安全的目的。所有直接与数据库数据操作的内容应该尽量通过已经设计好的存储过程完成,以保证数据库操作的隔离与安全。
除了安全性,还有访问速度的问题。一般来说,数据库查询最耗费时间的部分是打开和关闭与数据库的连接。某些服务器把产品配置成起始服务器时打开数据库连接,这样所有进来的请求都使用已建立的连接,可以提高性能,而另外一些则是用每个进来的请求去打开和关闭数据库连接,这样速度将会相比前者较慢。
系统的框架图如下:(箭头表示互相的操作,大箭头表示访问和回馈)


3.商品网络防伪查询系统的相关构成设计与组合实现
3.1网站的建立与网页查询界面的设计制作
1) 网站的建立要求对网站的建立要求一般是与访问速度和网页与公司网站的联系性相关的,这就要求在速度较快的服务器上建立专门有效的查询网站或直接在商品所在的企业主页做出商品防伪查询相关链接,而虚假网站由于独立于正规公司网站,容易引起人们警觉。要求对于消费者而言易于登陆,访问流畅。
2) 网页查询界面的制作要求对查询页面的制作要求一般有这样几个:界面简洁明了,颜色纯朴大方,结构拼接合理,最好能够以少量信息使得消费者满意并释疑,必要时可作适当的产品推介。
3) Web服务部分的主要功能
a、查询数码标识功能:
这是数码防伪系统的最基本功能,即:用户输入商品标签上的标识,服务器查询并返回该标识的正确性和相关商品信息。
b、后台管理功能:
这部分功能是公司厂商所应该具有的功能。包括增加、修改、删除厂商,增加、修改、删除产品信息,增加新标识,查看指定标识的状态(如:被查询过的次数等),查看指定标识的统计信息。此项功能可以使公司更好的管理查询页面,并方便做出改动。
由于本文中侧重的是消费者使用的网络防伪查询操作,故此项内容仅做简单的讨论和了解,下文中有关公司厂商所拥有的数据库数据的处理也仅做简单讨论。
后台功能的设计可以简化管理人员管理网络防伪查询系统的相关功能,而不必直接操作数据库,使得系统的稳定性和安全性得到提高,使两者分工明确,便于维护。
3.2.系统数据库的构建
3.2.1 数据库设计部分的主要功能数据库设计主要涉及的是数据和信息存储过程,而这些存储过程相当于在数据库中增加的一部分由SQL语言编写的程序和函数,这些集成于数据库内部的程序更有利于数据库的完整性。
a、查询数码标识的存储过程:
该存储过程实现的是对一个数码标识的查询验证功能。虽然可以通过编程实现对数据库中数码标识的查询,但是由于数码标识查询次数是有限制的,普通的编程方式实现的查询不利于数据库保密、安全的要求,采用存储过程查询的办法可以使Web服务程序与数据库实现隔离。
b、对厂商信息和产品信息管理存储的过程:
厂商信息和产品信息有很多互相关联,如果采用普通的应用程序直接操作数据库则会对数据库的完整性造成破坏,所以当管理厂商、产品信息的时候,尤其是在进行删除操作时,应采用级联删除的办法。普通的应用程序执行这样的操作容易产生错误,所以这部分也应该在数据库中通过存储过程实现。
3.2.2 设计数据库的基本要求在网络防伪查询系统中,数据库的设计要求有:
1、在数据库内部按一定规则随机批量生成数码标识。
2、检验数码标识是否正确的检验工作应该由数据库完成,而不是通过程序实现。
3、数据库本身应该支持对每一个企业、每一类商品、每一个商品的独立唯一标识。
4、各个标识之间应该通过外键关联,保证数据的完整性和统一性。
3.2.3 数据库的概念模型概念模型是指数据模型从现实世界抽象出来的基本模型,包括各个对象以及各个对象的属性以及各个对象之间的联系。概念模型中用到的实体参数有:
公司表(公司编号、公司名称、公司介绍)
商品表(标识编号、产品编号、商品标识号)
产品表(产品编号、产品名称、产品信息、产品备注)
由此看出三个对象中,编号是各自的主键。对象和属性及相互关系可用E-R图来实现[1]。

3.2.4 数据库设计的具体实现数据库系统选择:SQL SERVER 2005 。一般创建、修改、查询以及删除数据库都使用SQL语言实现。以下面所示程序为例就会做出较紧凑的表格和表示出查询存储过程[2]。
a.创建表格
SQL指令如下:
Create Table Companys
(
CompanyID Int Primary Key Identity(1,1),
CompanyName VarChar(100) Not Null,
CompanyInfo Text,
);
Create Table Products
(
ProductID Int Primary Key Identity(1,1),
CompanyID Int Foreign Key References Companys(CompanyID),
ProductName VarChar(100) Not Null,
ProductInfo VarChar(250) Not Null,
);
Create Table Identitiers
(
IdentitierID Int Primary Key Identity(1,1),
ProductID Int Foreign Key References Products(ProductID),
IdentitierStatus Int Not Null Default 0,
IdentitierInfo VarChar(20) Unique,
)
b.创建查询标识存储过程
SQL指令如下:
Create Procedure GetIdentitierInfo @IdentitierName VarChar(20),@Pid Int Output,@Status Int Output
As
Begin
Set @Status=(Select IdentitierStatus From Identitiers Where @IdentitierName=IdentitierInfo);
If @Status<=0
Begin
Set @Pid=-1;
End
Else

Begin
Set @Pid=(Select ProductID From Identitiers Where @IdentitierName=IdentitierInfo);
Update Identitiers Set IdentitierStatus=IdentitierStatus-1 Where @IdentitierName=IdentitierInfo;
End
End
Go
以日常消费品如酒产品为例做出简单模拟查询页面如下[3]:
1.软件microsoft visual studio 2005截图

2.查询页面[4]

3.输入页面

4.查询结果页面[5]


5.成功连接后得到相关文件截图

利用microsoft visual studio 2005仿真并连接成功,得到相关程序代码如下:
<head runat="server">
<title>查询结果</title>
</head>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT Product.ProductName,Product.ProductInfo,Company.CompanyName,Company.CompanyInfo FROM Company INNER JOIN Product ON Company.CompanyID = Product.CompanyID INNER JOIN Query ON Product.ProductID = Query.ProductID WHERE (Query.QueryID = @QueryID)">
<SelectParameters>
<asp:CookieParameter CookieName="QueryString" Name="QueryID" />
</SelectParameters>
</asp:SqlDataSource>
&nbsp;</div>
您所查询的产品的信息为:
&nbsp;
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"
Style="z-index,100; left,21px; position,absolute; top,238px" CellPadding="4" ForeColor="#333333" GridLines="None">
<Columns>
<asp:BoundField DataField="CompanyName" HeaderText="公司名称 " SortExpression="CompanyName">
<ItemStyle Font-Names="隶书" Font-Size="24pt" />
<HeaderStyle Font-Names="隶书" Font-Size="24pt" />
</asp:BoundField>
<asp:BoundField DataField="CompanyInfo" HeaderText="公司信息 " SortExpression="CompanyInfo">
<ItemStyle Font-Names="隶书" Font-Size="24pt" />
<HeaderStyle Font-Names="隶书" Font-Size="24pt" />
</asp:BoundField>…………
</Columns>
</asp:GridView>
</form>
</body>
</html>
3.3.商品防伪相关工艺流程
1) 喷码解决方法
通过喷码机在产品外包装或包装生产线上进行数码加载,通过喷码机喷码软件实现无序数码加载
2) 热转印解决方法
通过数码热转印设备将无序数码加载至包装纸或标签上。
3) 激光打码解决方法
通过激光打码机在产品外包装或包装生产线上进行数码加载,通过喷码机喷码软件实现无序数码加载,具体方式与喷码机相同。
4) 贴标解决方法提供已印刷好的标贴,通过贴标设备将数码加载到产品或产品外包装上。
外包装瓶标如下图:

4.随机数理论的研究
4.1 随机数在防伪系统的应用数码防伪数字标识的唯一性是网络防伪查询系统非常重要的特点,否则数码防伪系统就会失去其防伪意义。为了防止他人随意盗用、伪造、或有意识地冲击数字标识数据库,就需要数字标识有一定随机性,而不是连续的。因此,随机数在数码防伪系统中的使用是非常必要且重要的。
4.2 系统随机数的缺陷
系统随机数的得到可以有两个比较简便的方法。第一种是用程序设计语言如C语言,任意定义一个整型数i,令其从0开始自加同时规定最大相加数并循环任意次数即可得到。由这个办法可输出得到100个随机数。任何程序设计语言中都提供了产生随机数的函数。第二种方法是采用一些软件提供的基于ANSI标准的伪随机数发生器函数来产生随机数。
两种方法都可得到如下的结果(共100位随机数):
41 18467 6334 26500 19169 15724 11478 29358 26962 24464
5705 28145 23281 16827 9961 491 2995 11942 4827 5436
32391 14604 3902 153 292 12382 17421 18716 19718 19895
5447 21726 14771 11538 1869 19912 25667 26299 17035 9894
28703 23811 31322 30333 17673 4664 15141 7711 28253 6868
25547 27644 32662 32757 20037 12859 8723 9741 27529 778
12316 3035 22190 1842 288 30106 9040 8942 19264 22648
27446 23805 15890 6729 24370 15350 15006 31101 24393 3548
19629 12623 24084 19954 18756 11840 4966 7376 13931 26308
16944 32439 24626 11323 5537 21538 16118 2082 22929 16541
这样产生的随机数如果运用到商品标签上用来防伪,那就意味着,只要用这些固定的随机数来进行盗取活动,成功概率将会大大增加,那么防伪将无安全性可言,所谓的防伪查询系统也就变得毫无意义了。
为什么会出现这样的结果?由系统随机数的产生原理可以说明这一问题。现在的C编译器都提供了一个基于ANSI标准的伪随机数发生器函数,用来生成随机数,即是rand()和srand()函数。这两个函数的工作过程为:首先给srand()提供一个unsigned int类型的种子,取值范围从0~65535,再调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到32767之间),根据需要多次调用rand(),从而不间断地得到新的随机数,无论何时都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果。这个过程似乎很简单,但如果当每次调用srand()时都提供相同的种子值,那么将会得到相同的随机数序列,这时看到的现象是没有随机数,因为每一次的数字都是一样的了,这当然起不到随机防伪的作用,反而会因为其规律性给安全留下重大的隐患。它的原理图可近似为下图:

系统随机数由于有其一定的规律性,所以在生成数据库系统中的随机标识时,不应该通过系统随机函数得到。
4.3 系统随机数的合理设计计算机系统都是由各种明确的逻辑关系构成,其物理芯片上也不存在产生随机数的基本条件。但是由于程序代码被执行的时间是随机的,尤其是各个计算机指令执行的精确时间,如毫秒级别的时间,是近似随机的,而且这个时间不容易被别人利用,通过这个时间与系统产生的随机数做乘积,就可以得到几乎完全随机的随机数。

5.商品网络防伪查询系统的缺陷研究
5.1数码加载方面的缺陷
1) 喷码时对油墨吸附性差的材质必须采用特殊油墨进行数码加载,打印动态数码的喷码机均为进口设备,国产设备不支持此类数码加载,需要部分资金投入。
2) 热转印只适用于外包装的印刷线上,或者将设备添加在酒生产线的贴标环节上。 热转印动态数码打印设备为近几年新推出产品,其产品较喷码机便宜且易于安装,但是耗材较贵。
3) 激光喷码设备虽然使用寿命较久,耗材利用的周期长,但需投入较多资金,并且需有专人维护管理。
5.2 适用范围的缺陷
由于鉴别商品的真伪时,计算机网络防伪查询技术需借助计算机、网络或电话,因此在经济落后的地区该技术的使用将受到一定的限制。
5.3 特定情况下可能存在的安全方面的缺陷
1) 查询过程枯燥无味和经济落后地区该技术使用不充分,导致查询率不高,因而造假者可通过回收未查询签进行小批量仿制造假,从而引发一系列问题。
2) 防伪认证中心可以验证消费者的商品真伪,但消费者无法验证防伪认证中心的真伪,即防伪认证中心与消费者之间不能进行双向身份认证。
3) 编码与校验算法不能公开,存在算法泄密的技术风险。
4) 数据库中存放有防伪码信息的副本,造假者可剽窃数据库信息进行造假。
5) 存在数据库管理员作弊的管理风险,等等。
5.4 其他情况的缺陷不利于高档具有收藏价值的商品使用,对这类商品只能加强资金投入的管理和后期服务。如精装的具有收藏价值的高档酒品。
6.网络防伪查询的可行性建议
6.1 查询率低。
厂家在销售产品时,加大防伪查询宣传,并使用积分系统产生的积分值或者抽奖活动进行酬宾,以增强信息网络防伪的知名度。
6.2 安全性。
编码与效验算法可以公开,黑客通过攻击算法方式对防伪系统进行攻击无效。相对此不足,编码算法中应采取数字签名处理,可以克服运营服务中心与造假集团内外勾结的管理风险;商品防伪码与商品校验码绝难互推,即使公开数据库也无法通过商品校验码推算出商品防伪码,因而攻击数据库无效。系统根据消费者设置的再次查询密码对数据库进行了二次加密处理,克服了当前数据防伪系统中存在的管理员修改已查询标志为未查询,然后将这些防伪码提供给造假者进行再次使用的管理风险,系统实现了双向认证,消费者不仅可以验证商品的真伪,而且可以通过运营服务中心反馈的问题答案,来验证运营服务中心的真伪。
6.3 为商品设立电子档案进行防伪(附原理图如下)。

总结本文对商品网络防伪查询系统做了详细讨论和阐述,从防伪查询系统的特点和实用性入手,讨论其应该包含的基本功能和缺陷所在,以及设计中应注意的各种问题,并重点分析了网络防伪查询系统中的随机数理论等内容。
现今社会对网络防伪查询系统的广泛使用和大力发展,说明了其具有较好的安全性和较高的效率,故网络防伪查询系统在对某些缺陷的改进中,必然会发挥更加重要的作用,并表现出广阔的应用前景。
参考文献
[1] 周维恩,网络数据库应用与开发教程 [M].电子工业出版社,2002,131-136.
[2] Greg Riccardi(美)著,邓少鹍、梅珊 译,数据库管理-网络开发实例 [M].清华大学出版社,2003,197-220.
[3] 杨志姝,冯小飞等,Asp+SQL Server基础练习+典型案例 [M].清华大学出版社,2006,63-68.
[4] 谭浩强,网页制作技术 [M].人民邮电出版社,2002,16-23.
[5] 张永宝,李刚,Dreamweaver8入门与提高 [M].电子工业出版社,2002,212-220. 致谢

附录
1.运行microsoft visual studio 2005后的生成文件
1) Web.Config
<?xml version="1.0" encoding="utf-8"?>
<!--
注意,除了手动编辑此文件以外,您还可以使用
Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
,网站”->“Asp.Net 配置”选项。
设置和注释的完整列表在
machine.config.comments 中,该文件通常位于
\Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>
<appSettings/>
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=.;Initial Catalog=查询系统;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<!--
设置 compilation debug="true" 将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->
<compilation debug="false" />
<!--
通过 <authentication> 节可以配置 ASP.NET 使用的
安全身份验证模式,
以标识传入的用户。
-->
<authentication mode="Windows" />
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
</system.web>
</configuration>
2) Result.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Result,System.Web.UI.Page
{
protected void Page_Load(object sender,EventArgs e)
{
}
}
3) Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default,System.Web.UI.Page
{
protected void Page_Load(object sender,EventArgs e)
{
}
protected void Button1_Click1(object sender,EventArgs e)
{
Response.Cookies.Add(new HttpCookie("QueryString",TextBox1.Text));
Response.Redirect("Result.aspx");
}
}
4) Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>防伪查询系统</title>
<link href="StyleSheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<div class="STYLE1">
<p style="font-weight,bold; font-size,40pt; color,red; font-style,normal; font-family,华文隶书; text-align,center">欢迎使用酒类产品网络查询防伪系统</p>
</div>
<p class="STYLE2">&nbsp;</p>
<p style="font-size,24pt; color,blue; font-family,隶书">
&nbsp;</p>
<p style="font-size,24pt; color,blue; font-family,隶书">
请输入您要查询的产品防伪序号:</p>
<p>
<asp:TextBox ID="TextBox1" runat="server" Height="26px" Style="z-index,100; left,13px;
position,absolute; top,284px" Width="303px" Font-Size="16pt" ForeColor="Fuchsia"></asp:TextBox>
&nbsp;</p>
<p class="STYLE2">
<asp:Button ID="Button1" runat="server" Style="z-index,102; left,340px; position,absolute;
top,283px" Text="查询" Font-Names="华文彩云" Font-Size="16pt" Height="32px" Width="112px" OnClick="Button1_Click1" />
&nbsp;</p>
<p>
</p>
<hr />
<p style="font-size,20pt; color,black; font-family,隶书; text-align,center">@版权所有 重庆三峡职业学院尹晓琼
</p>
</form>
</body>
</html>
5)Result.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Result.aspx.cs" Inherits="Result" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>查询结果</title>
</head>
<body style="font-size,48pt; color,dodgerblue; font-family,华文隶书" text="#00000">
<form id="form1" runat="server">
<div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT Product.ProductName,Product.ProductInfo,Company.CompanyName,Company.CompanyInfo FROM Company INNER JOIN Product ON Company.CompanyID = Product.CompanyID INNER JOIN Query ON Product.ProductID = Query.ProductID WHERE (Query.QueryID = @QueryID)">
<SelectParameters>
<asp:CookieParameter CookieName="QueryString" Name="QueryID" />
</SelectParameters>
</asp:SqlDataSource>
&nbsp;</div>
您所查询的产品的信息为:
&nbsp;
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"
Style="z-index,100; left,21px; position,absolute; top,238px" CellPadding="4" ForeColor="#333333" GridLines="None">
<Columns>
<asp:BoundField DataField="CompanyName" HeaderText="公司名称 " SortExpression="CompanyName">
<ItemStyle Font-Names="隶书" Font-Size="24pt" />
<HeaderStyle Font-Names="隶书" Font-Size="24pt" />
</asp:BoundField>
<asp:BoundField DataField="CompanyInfo" HeaderText="公司信息 " SortExpression="CompanyInfo">
<ItemStyle Font-Names="隶书" Font-Size="24pt" />
<HeaderStyle Font-Names="隶书" Font-Size="24pt" />
</asp:BoundField>
<asp:BoundField DataField="ProductName" HeaderText="产品名称" SortExpression="ProductName">
<ItemStyle Font-Names="隶书" Font-Size="24pt" />
<HeaderStyle Font-Names="隶书" Font-Size="24pt" />
<FooterStyle Font-Names="隶书" Font-Size="24pt" />
</asp:BoundField>
<asp:BoundField DataField="ProductInfo" HeaderText="产品信息" SortExpression="ProductInfo">
<ItemStyle Font-Names="隶书" Font-Size="24pt" />
<HeaderStyle Font-Names="隶书" Font-Size="24pt" />
</asp:BoundField>
</Columns>
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<EditRowStyle BackColor="#999999" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>
</form>
</body>
</html>
2,以C语言为例产生并输出100个随机数的程序:
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i;
for(i=0;i<32;i++) printf("%d\t",rand());
}

评 语
建议成绩 指导教师(签字)
答辩小组意见
答辩委员会
负 责 人(签字)
成 绩
学院(盖章)
200 年 月 日