wincc6.0历史报表的做法或案例
西门子wincc数据报表的实现方式
西门子wincc数据报表的实现方式【摘要】随着工业领域的不断发展,用户需求一种以人机界面为控制主体的视窗控制体系的过程监控系统,以此来取代原来的以现场操作按钮和仪表为主的操作体系。
通过开放性、灵活性的可视化界面,迅速并直接的处理生产过程中的事件信息。
凭借这种战略思想,WINCC,运行于Windows系统下的控制中心,已发展成为工业市场领域的领导者,乃至业界遵循的标准。
Wincc集生产自动化和过程自动化于一体,应用于各种工业自动化领域,是提高工厂生产效率的上乘之选,并支持多种语言。
工业生产中,报表系统通常是控制系统中非常重要的一部分,是企业管理的基本措施和途径,它通常用来记录重要的现场工艺参数和统计信息。
早期,都是由人工记录的方式进行统计汇总,数据也只能有一种几乎只有记录员才能理解的表现形式,且这种形式难于更改。
当进入计算机时代后,报表这部分工作完全可以由计算机软件来实现,数据动态化,格式多样化,用户可以自己修改数据或格式。
针对自动化工程师而言,如何利用wincc软件来开发适合用户需求的报表,并且高效灵活的解决统计数据是自动化工程师必须掌握的一门技术,也是企业日常生产维护和管理中不可或缺的管理手段之一。
报表的变现形式分为许多种,大体上可分为两种形式:曲线格式和表格格式。
曲线形式主要是利用WINCC自带控件来实现,在控件属性中,可对趋势、常规、字体、趋势窗口、时间轴、数值轴、工具栏、状态栏、在线组态、导出中具体参数进行设置,以符合用户的生产需求和审美要求。
例如,时间轴可设成1分钟,1小时或者1天的形式,数值轴可以设置成根据实际测量值实时改变数值轴的范围。
应用在线趋势曲线的前提条件是,用户需要在变量记录里设置需要归档的变量内容和归档周期等一系列参数。
针对于一些特殊归档要求,曲线形式的归档可能满足不了用户的需求,往往用户需要生成一种支持打印功能并以表格形式查询的数据归档报表。
针对于这类复杂的报表,可以通过用户归档和Wincc报表编辑器来实现此类功能。
wincc报表时间列时间的设置
wincc报表时间列时间的设置
用wincc6.0做了一个报表,列表示每一个变量,行则表示时间,现在我想实现:1.数据间隔为2个小时记录一次;
2.只打印该天的数据(即从0点到24点的数据,12行)并且只打印改天的;
3.设置个时间段也可以,但是这个时间段的编程我不知道该怎么做,听说可以建两个变量来设置起始时间变量,不过我不太明白,这两个变量该设置成什么样的?
最佳答案
参考
深入浅出西门子WINCC6.0:
/SearchDatum.aspx?query=深入浅出&psort=&brand=&area=&industry=
使用用户归档实现报表:
/download/Upload/AS/applicati on/A0296.zip
WINCC数据报表实现方法:
/download/Upload/AS/applicati
on/A0300.pdf。
WinCC数据报表实现方法介绍
WinCC数据报表实现方法介绍WinCC是西门子公司开辟的一款工业自动化软件,用于监控和控制工业过程。
它提供了丰富的功能和工具,使用户能够轻松地创建、配置和管理工业自动化系统。
其中一个重要的功能就是数据报表的生成和分析。
WinCC数据报表功能可以匡助用户对工业过程中的数据进行采集、存储和分析,从而提供决策支持和性能优化。
下面将介绍WinCC数据报表的实现方法。
1. 数据采集和存储:在WinCC中,数据报表的实现首先需要进行数据的采集和存储。
用户可以通过配置WinCC的数据采集功能,将需要监控和分析的数据从现场设备或者控制系统中获取。
这些数据可以是温度、压力、流量等过程变量,也可以是设备状态、报警信息等。
WinCC提供了多种数据采集方式,如OPC、数据库连接、PLC通讯等,用户可以根据实际需求选择合适的方式。
2. 报表模板设计:在数据采集和存储完成后,用户需要设计报表模板,用于展示和分析数据。
WinCC提供了丰富的报表模板设计工具,用户可以根据自己的需求自定义报表的样式和布局。
用户可以选择添加表格、图表、图象等元素,还可以设置报表的标题、页眉、页脚等。
此外,WinCC还提供了多种数据处理和计算功能,如数据筛选、排序、求和、平均值计算等,用户可以根据实际需求对数据进行处理和分析。
3. 报表生成和导出:在设计好报表模板后,用户可以通过WinCC的报表生成功能生成报表。
用户可以选择生成实时报表或者历史报表,实时报表可以实时展示当前的数据,而历史报表可以展示一段时间内的数据。
生成报表时,用户可以选择报表的时间范围、数据类型、数据筛选条件等。
生成的报表可以以各种格式导出,如PDF、Excel、Word等,方便用户进行打印和共享。
4. 报表分析和优化:生成报表后,用户可以进行报表的分析和优化。
WinCC提供了丰富的数据分析工具,用户可以通过图表、图象等方式直观地展示和比较数据。
用户可以根据报表的分析结果,发现问题和改进措施,并进行性能优化。
WinCC历史趋势的制作
Wincc趋势的做法
打开Wincc软件资源管理器,在项目目录下点击“变量记录”,打开对话框如图一所示
右键对话框中“归档”并在下拉菜单中选择“归档向导”——>下一步
在“归档名称”中填写该归档名称,在“归档类型”中选择“过程值归档”
单击下一步——>单击“选择”按钮选择变量,最后单击“完成”按钮
在下面的表格窗口中右击变量并在下拉菜单中选择“属性”,在“过程变量属性”的“归档变量”标签页,在“归档变量名称”栏显示该变量的名称,在“过程变量属性”的“归档”标签页中,“归档类型”选择“周期”,“采集”栏设置多长时间采集一次变量,“归档”栏设置多长时间归档一次,在“过程变量属性”的“参数”标签页“处理”栏中设置是显示实际值、总和、最大值、平均值、动作还是最小值。
设置完后,重启wincc。
打开图形编辑器,将“对象选项板”中的“控件”板中的“WinCC Online Trend Control”控件放到界面上并拖放到合适的尺寸,双击“WinCC Online Trend Control”控件弹出“WinCC Online Trend Control属性”对话框,在“曲线”标签页设置曲线的次序、所连接的变量、曲线的颜色等,在“常规”标签页设置是否显示标题、状态栏、工具栏,是否具有公共的X轴、Y轴等,
在“字体”标签页设置字体及其大小,在“工具栏”标签页设置工具栏具有哪些功能,在“时间轴”标签页设置时间轴的标签、时间显示的格式及范围,
在“数值轴”标签页设置数值轴的范围和标度等。
利用WINCC 6.0自带的SQL SERVER制定数据存储与查询且将结果导出到EXCEL
利用WINCC 6.0自带的SQL SERVER制定数据存储与查询且将结果导出到EXCEL作者: 张宝田三达膜集团有限公司关键词:WINCC6.0 、VBS、SQL SERVER、 EXCEL、C#一、 前言在WINCC5.0中利用的是Sybase数据库,表结构相对简单,导出到EXCEL也相对方便;同时也有采用在全局C脚本中编写程序把变量值写入到固定的一个EXCEL文件中。
以上两种方式在运行时间长后文件非常大,打开非常缓慢,想提取其中的有用部分相对较难。
而在WINCC6.0中利用的是SQLSERVER数据库,其表结构设计相对复杂,且经过压缩处理,要直接导出运行数据也非常困难,用其报表打印机打出的表单是.mdi格式(类似图片)要二次处理分析数据也非常不容易。
本文重点介绍了如何利用WINCC自带的VBS脚本语言将需要的生产数据送到WINCC自带的SQL SERVER数据库中,同时利用基于.NET平台C#计算机高级语言编写一个通用的数据库查询与导出工具,将需要的数据导出到EXCEL中,从而弥补WINCC6.0数据导出难的问题。
其整个数据链如下图所示:二、 建立数据库打开SQL SERVER数据库新建一数据库名为:xlpdb1.1创建表根据生产或工艺进行分类,分别创建表名为YCLTable(预处理)、 UFTable(超滤)、ROTable(反渗透)、 JYTable(加药间)、如下图所示:表中字段的类型分别为:datetime(存放日期时间)、text(存放wincc当前操作人员信息)、float(存放生产运行数据)。
备注:为了方便查看,字段名称最好直接使用PI&D图上的仪表编号。
1.2 创建用户配置数据库用户名为:sinomem 密码为:6778100 设置相应权限如下图所示:三、 编写VBS脚本程序2.1 用VBS脚本与WINCC变量数据交换方法要用VBS脚本进行数据处理,首先得知道与WINCC变量的数据交换方法,其源代码如下:2.2 用VBS脚本将数据写入SQL SERVER利用WINCC的全局VBS脚本,触发周期为1分钟即每1分钟向SQL SERVER写入一条数据。
WINCC报表详细设计步骤
无锡康博自动化设备工程有限公司WINCC报表详细做法2014年2月10日珍藏版(如有雷同,就是盗版)一、报表的需求分析从需求上讲报表一般分为:①内容上的需求:涉及求和、平均、最大值和最小值的计算,同时还有复杂报表中混合排列上的处理。
②样式上的需求:简单报表的样式多为固定格式,固定内容。
复杂报表的样式可以有用户自己设计和决定显示的内容,甚至涉及历史趋势及报警信息。
③任务上的需求:报表不仅能显示查看,重要的是打印任务,WINCC的全局脚本能够实现事件触发打印或者定时打印。
报表实例:汉阴污水厂二、WINCC的数据存储④WINCC自带强大的数据归档功能,WINCC的数据记录已包含周期记录归档、非周期动作触发、动作触发的周期记录,甚至在数据处理中可以自动统计出平均值、最大值、最小值以及求和等数据信息。
④对于过程归档的访问,我们可以使用WINCC的在线表格,报表编辑器中自带的打印控件实现报表数据记录功能。
④对于存储数据的访问,WINCC提供了另外一个数据存储和处理工具就是用户归档。
报表实例:用户归档界面三、报表的具体做法关键词:④①报表编辑④②用户归档④③全局脚本④④创建打印任务④⑤画面编辑关于报表编辑器④WINCC的报表制作完成后存储在当前项目下的PRT文件夹内,可以直接复制粘贴到其他项目内使用,只需要修改数据库链接变量即可。
④对于大量数据信息存储的项目,可以创建多张报表进行分类,更准确直接的查看和生成报表。
④每一张报表对应一个新的打印作业,并且需要与用户归档里记录的数据库信息一一对应,下面将一一介绍详细。
报表编辑器—编辑报表报表编辑器—编辑报表动态数据库的创建链接报表编辑器—编辑报表动态数据库的创建链接报表编辑器—编辑报表静态文本的编辑报表编辑器—编辑报表一张完整的报表格式,可以查询10个数据,如果数据较多,可以创建多张报表关于用户归档④WINCC变量记录是系统的存储部分,使用的是SQL数据块。
而用户归档是基于数据库而生成的记录表。
基于数据库查询的WINCC报表制作步骤
基于数据库查询的WINCC报表制作步骤一、报表优点:1、数据写入SQL数据表,数据不容易丢失,保存时间长,数据库容量大;2、数据从数据库里面查询和统计,冗余少,速度快,具有直接性、可靠性和稳定性。
3、查询方便灵活,依靠SQL强大的查询和统计功能,想怎么查询就怎么查询,并依靠MSFlexGrid控件做显示,做出来的不仅报表美观大方。
而且还可根据做出很复杂的报表。
二、报表制作流程1、创建SQL数据库,打开Microsoft SQL Server2005,选择SQL Server Manage Studio,点击Connect2、在Databases,右键选择New Database,在Database Name处输入数据库名称,如SQL-Report3、点击Databases,此时可以看到刚才新建的数据库SQL-Report,点击该数据库,右击Tables,选择New Table,在Column Name、Data Type处输入变量名称并选择数据类型,输入完成后,保存并输入表格名称。
4、在WINCC的全局脚本中编写用于写入SQL报表的脚本程序,脚本正常运行后,打开Databases---SQL-Report---Tables---Report会看到记录的数据二、 WINCC报表画面组态在组态报表画面时,需要用到MSFlexGrid控件、DT Picker控件。
选定ActiveX Controls,右键选择Add/Remove,从弹出菜单中选择Microsoft FLexGrid Control,Version 6.0和Microsoft Date and Time Picker Control 6.0(SP4)控件。
从ActiveX Controls中将这两个控件拖到日报表画面,可以在其属性中更改控件的名称,设置MSFlexGrid控件属性。
注意:通常情况下,直接选择Microsoft FLexGrid Control,Version 6.0控件时,需要注册。
WinCC数据报表实现方法介绍
WinCC数据报表实现方法介绍
在工业生产中报表一直占有非常重要的部分,它一般用来记录现场的工艺参数和统计信息。
早期是由人工抄录然后统计出相关的报表。
进入计算机控制阶段,这份工作就需要工控软件来实现。
对于工控行业的工程师来说:如何开发适合用户需求的报表一直是个难
题。
接下来就从报表的需求分析、WinCC报表系统的应用、复杂报表的WinCC报表系统实现这几个部分来分别介绍。
最后总结出WinCC报表系统在应用的优缺点和常见的问题的
解决方法。
WinCC实现报表的不同方法及其应用专题探讨之方案汇总
WinCC实现报表的不同方法及其应用专题探讨之方案汇总请问版主,在wincc中怎么做才能把报表生成按日期的excel文件?使用vbs脚本以变量的形式表示文件名。
参考资源'关闭保存dimpatch,文件名filename=cstr(year(now))&cstr(month(now))&cstr(day(now))&cstr(hour(now))+cstr( minute(now))&cstr(second(now))补丁=\objexcelapp.activeworkbook.saveaspatchobjexcelapp。
工作手册。
关objexcelapp.quitsetobjexcelapp=无对于excel报表,用vbs最灵活,excel定义好格式后wincc来填空,平均累计值就用excel的功能。
dimexcelappdimaa,bb,ccsetexcelapp=createobject(\setaa=hmiruntime.tags(\excelapp。
可见=假“真”excelapp.workbooks.open\bb=now'getcurrent_uuDateTime()aa.readmsgboxcstr(bb)excelapp.cells(1,1).value=\excelapp。
细胞(1,2)。
值=cstr(bb)excelapp.cells(2,2).value=cstr(aa.value)excelapp。
细胞(3,2)。
值=辛特(aa.值)excelapp.cells(4,2).value=csng(aa.value)excelapp。
细胞(5,2)。
值=cdbl(aa.值)excelapp.cells(6,2).value=clng(aa.value)excelapp。
细胞(3,3)。
值=屏幕项目(\excelapp.cells(4,4).value=screenitems(\cc=\+mid(cstr(bb),12,2)+mid(cstr(bb),15,2)+mid(cstr(bb),18,2)+\msgboxccexcelapp。
wincc如何制作报表
消息归档报表 2/2
100\ means that the last 100 messages will be printed.
测量值报表 (趋势) 1/4
测量值报表 (趋势) 2/4
测量值报表 (趋势) 3/4
Layout
Shortcut menu
测量值报表 (趋势) 4/4
-趋势颜色 -y轴的比例调节
PrtScreenPart (ObenX,ObenY,Breite,Hoehe+80); }
用户报表的打印预览
.emf 画面对象的拷屏
报表
使用行式打印机布局的消息序列报表
可用的矩阵打印机: -所有的HP打印机(Deskjet, Laserjet, Paintjet);所有的Canon BJC打印机;所有的Epson LQ打印机
报警记录
注: 在计算机启动列表里需要激活“Message Sequence Report“。
消息归档区域的拷屏
{ #pragma code("prtscrn.dll") BOOL PrtScreenPart (ULONG left, ULONG top, ULONG width, ULONG height); #pragma code()
ULONG ObenX,ObenY,Breite,Hoehe;
80
ObenX=GetLeft(lpszPictureName,"Control1"); ObenY=GetTop(lpszPictureName,"Control1"); Breite=GetWidth(lpszPictureName,"Control1"); Hoehe=GetHeight(lpszPictureName,"Control1");
21.Wincc控件制作报表以及导出EXCEL方法介绍
21.Wincc控件制作报表以及导出EXCEL⽅法介绍假设希望做这样⼀个报表界⾯,可以根据⽇期查询:希望导出的excel报表⽂件在C盘根⽬录,是这个样⼦:接下来我们⼀步步实现这个功能。
1. Wincc历史趋势的数据库表结构有点不好理解,我们新建⼀个数据库名字叫做Report,新建⼀张表,结构是这个样⼦:注意开放sa⽤户,设置sa⽤户有管理report数据库权限,使⽤sql登陆模式。
2. 我们每5秒往report表写⼊⼀条记录,在全局VBS脚本写⼊如下代码:Option ExplicitFunction action'添加纪录Dim T1,T2,P1,P2,F1,F2,L1,L2,A1,A2,S1,S2Dim ors,conn,con,ssql,ocomDim PCNamePCName=hmiruntime.Tags("@LocalMachineName").ReadT1=HMIRuntime.Tags("温度1").ReadT2=HMIRuntime.Tags("温度2").ReadP1=HMIRuntime.Tags("压⼒1").ReadP2=HMIRuntime.Tags("压⼒2").ReadF1=HMIRuntime.Tags("流量1").ReadF2=HMIRuntime.Tags("流量2").ReadL1=HMIRuntime.Tags("液位1").ReadL2=HMIRuntime.Tags("液位2").ReadA1=HMIRuntime.Tags("分析仪1").ReadA2=HMIRuntime.Tags("分析仪2").ReadS1=HMIRuntime.Tags("转速1").ReadS2=HMIRuntime.Tags("转速2").Readcon="Provider = SQLOLEDB.1;password = sa;user id = sa;Initial Catalog =Report;Data Source = " & PCName & "\WINCC" Set conn=CreateObject("ADODB.Connection")conn.ConnectionString=conconn.Cursorlocation=3conn.openssql="insert into Report(CurDateTime,T1,T2,P1,P2,F1,F2,L1,L2,A1,A2,S1,S2) values(Getdate()," _& T1 & "," & T2 & "," & P1 & "," & P2 & "," & F1 & "," & F2 & "," & L1 & "," & L2 & "," & A1 & "," & A2 & "," & S1 & "," & S2 & ")"Set ors=CreateObject("ADODB.RecordSet")Set ocom=CreateObject("mand")Set ocom.activeconnection=connmandType=1mandText=ssqlSet ors=ocom.ExecuteSet ors=Nothingconn.closeSet conn=NothingEnd Function脚本中的函数不做解释。
西门子wincc数据报表的实现方式
据 实 际测量 值实时 改变数 值轴 的范 围。 应 用在 线趋势 曲线 的前提 条件 使用VB S 汇编语言制 作脚本 程序 是Wi n c c k  ̄ 较高级 的一种 语言格 是, 用户需 要在变 量记 录里设 置需 要 归档 的变 量 内容 和 归档周期等 一 式 , 同时还可 以 自 定义脚 本触 发周期来 实现 数据 采集或 处理 。 在 凰面编 系列参数 。 辑 器中结合V B S 脚本 , 可 以使 画面做 到动态化 效果 。 是在 日 常编 写程序
WINCC报表详细设计步骤
无锡康博自动化设备工程有限公司WINCC报表详细做法2014年2月10日珍藏版(如有雷同,就是盗版)一、报表的需求分析从需求上讲报表一般分为:①内容上的需求:涉及求和、平均、最大值和最小值的计算,同时还有复杂报表中混合排列上的处理。
②样式上的需求:简单报表的样式多为固定格式,固定内容。
复杂报表的样式可以有用户自己设计和决定显示的内容,甚至涉及历史趋势及报警信息。
③任务上的需求:报表不仅能显示查看,重要的是打印任务,WINCC的全局脚本能够实现事件触发打印或者定时打印。
报表实例:汉阴污水厂二、WINCC的数据存储④WINCC自带强大的数据归档功能,WINCC的数据记录已包含周期记录归档、非周期动作触发、动作触发的周期记录,甚至在数据处理中可以自动统计出平均值、最大值、最小值以及求和等数据信息。
④对于过程归档的访问,我们可以使用WINCC的在线表格,报表编辑器中自带的打印控件实现报表数据记录功能。
④对于存储数据的访问,WINCC提供了另外一个数据存储和处理工具就是用户归档。
报表实例:用户归档界面三、报表的具体做法关键词:④①报表编辑④②用户归档④③全局脚本④④创建打印任务④⑤画面编辑关于报表编辑器④WINCC的报表制作完成后存储在当前项目下的PRT文件夹内,可以直接复制粘贴到其他项目内使用,只需要修改数据库链接变量即可。
④对于大量数据信息存储的项目,可以创建多张报表进行分类,更准确直接的查看和生成报表。
④每一张报表对应一个新的打印作业,并且需要与用户归档里记录的数据库信息一一对应,下面将一一介绍详细。
报表编辑器—编辑报表报表编辑器—编辑报表动态数据库的创建链接报表编辑器—编辑报表动态数据库的创建链接报表编辑器—编辑报表静态文本的编辑报表编辑器—编辑报表一张完整的报表格式,可以查询10个数据,如果数据较多,可以创建多张报表关于用户归档④WINCC变量记录是系统的存储部分,使用的是SQL数据块。
而用户归档是基于数据库而生成的记录表。
wincc用户归档实例
wincc用户归档实例
以下是WinCC用户归档实例的一个示例:
假设一个工厂使用WinCC来监控和控制各个生产线上的设备。
该工厂希望能够定期将产生的历史数据归档,以便将来进行分析和报告。
以下是一个简化的 WinCC 用户归档实例:
1. 首先,在WinCC Configuration中创建一个用户归档配置,
包括选择要归档的标记和变量,以及归档的时间间隔和文件位置。
2. 在WinCC Runtime中,设置一个定时触发器,以便在指定
的时间间隔后触发归档过程。
3. 当触发器被触发时,WinCC将会自动将标记和变量的历史
数据保存到指定的归档文件中。
4. 用户可以使用WinCC Archive Viewer来查看和分析归档文
件中的数据,以便生成报告或进行其他分析。
这只是一个简单的WinCC用户归档实例,实际的应用可能会
更加复杂,具体的设置和配置会因实际需求而有所不同。
但是这个示例可以帮助理解如何使用WinCC来进行数据归档。
wincc6.0有关
如何将WinCC归档的历史数据导出到EXCEL CSV文件How to Export WinCC Archived history datas to EXCEL CSV File摘要 WinCC 归档的历史数据可以通过“在线趋势”控件的工具按钮,或Excel模板文件以及使用“SQL Server Import/Export”向导,通过 WinCC OLE DB 提供程序来访问 WinCC 数据库将WinCC 归档的历史数据导出到EXCEL CSV文件。
关键词 WinCC ,export,Archive ,CSVKey Words WinCC ,export ,Archive,CSVIA&DT Service & Support Page 2-25目录1使用WinCC标准控件的工具按钮 (4)1.1在线趋势控件 (4)1.2在线表格控件 (6)2 使用Excel模板文件 (8)3 使用“SQL Server Import/Export”向导 (10)IA&DT Service & Support Page 3-25由于从WinCC V6.2开始,所有的历史数据都通过算法进行了压缩处理,无法通过标准的SQL 语句访问。
如果编程需要选件WinCC/Connectivity Pack ,根据WinCC/Connectivity Pack 语法访问历史归档值和历史报警信息;或通过欧洲版选件WinCC Industrial Data Bridge 的组态,可将WinCC 的历史数据及实时数据写入到数据库或Excel CSV 文件。
但是,对于生产数据的分析,比如仅需要某一时间段的Excel CSV 数据文件,可以使用以下三种方法方便的将历史数据导出到Excel CSV 文件。
IA&DT Service & SupportPage 4-251使用WinCC 标准控件的工具按钮1.1在线趋势控件从WinCC V6.2版本开始,在对象选项板的“控件”标签上,如图1.1单击“WinCC 在线趋势控件”对象。
wincc的excel报表实例
wincc的excel报表打印实例因为ms word和excel的文档都支持html文本格式,因此可以先用word或excel做好模版,另存为Web页,然后将该html 改成jsp,将数据部分动态填入即可,不用很辛苦的调整格式word页面只要在jsp头设置如下指令:<%@page contentType="application/msword;charset=GBK" %>excel如下:<%@page contentType="application/vnd.ms-excel;charset=GBK" %>使用这种方式客户端必须安装有office软件,用户访问时将在ie中直接用wor d或excel打开该页面。
此方法优势是模板设计、调整方便,无需在服务器端使用复杂的POI或jxl技术,也无需在客户端使用ActiveX控件技术,更安全、方便,轻松实现较好的打印效果。
简单示例:使用word建立一文档,画表格如下:----------------------------| 用户名| 真实姓名| 性别|----------------------------| guest | 路人甲| 男|----------------------------保存为Web页test.htm,将test.htm改名为test.jsp,修改其中guest、路人甲、男为从数据库动态查询,如下:<%@ page contentType="application/msword;charset=GBK" %><%@ page import="java.sql.*" %><html xmlns:o="urn:schemas-micr osoft-com:office:office"xmlns:w="urn:schemas-microsoft-com:office:word"xmlns="http://www.w3.or g/TR/REC-html40"><head><meta http-equiv=C ontent-Type content="text/html; charset=GB2312"><meta name=ProgId content=W ord.Document><meta name=Generator content="Microsoft Word 9"><meta name=Originator content="Microsoft Wor d 9"><title>用户信息</title><!--[if gte mso 9]><xml><o:DocumentProperties><o:Author>evan zhao</o:Author><o:LastAuthor>evan zhao</o:LastAuthor><o:Revision>1</o:Revision><o:TotalTime>1</o:TotalTime><o:Created>2003-08-20T16:26:00Z</o:Created><o:LastSaved>2003-08-20T16:27:00Z</o:LastSaved><o:Pages>1</o:Pages><o:Company>taiping</o:Company><o:Lines>1</o:Lines><o:Paragraphs>1</o:Par agraphs><o:Version>9.2812</o:Version></o:DocumentProperties></xml><![endif]--><!--[if gte mso 9]><xml><w:WordDocument><w:PunctuationKerning><w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGr idV erticalSpacing><w:DisplayH orizontalDrawingGridEvery>0</w:D isplayH orizontalDrawingGr idEvery> <w:DisplayV erticalDrawingGr idEvery>2</w:D isplayVerticalDrawingGr idEvery><w:Compatibility><w:SpaceForUL><w:BalanceSingleByteDoubleByteW idth><w:DoNotLeaveBackslashAlone><w:ULTrailSpace><w:DoNotExpandShiftReturn><w:AdjustLineH eightInTable><w:UseFELayout></w:Compatibility></w:WordDocument></xml><![endif]--><style><!--/* Font Definitions */@font-face{font-family:宋体;panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-alt:SimSun;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:var iable;mso-font-signatur e:3 135135232 16 0 262145 0;}@font-face{font-family:"\@宋体";panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:var iable;mso-font-signatur e:3 135135232 16 0 262145 0;}/* Style Definitions */p.MsoNormal, li.MsoNormal, div.MsoNormal{mso-style-parent:"";margin:0cm;margin-bottom:.0001pt;text-align:justify;text-justify:inter-ideograph;mso-pagination:none;font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman";mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;}/* Page D efinitions */@page{mso-page-border-surround-header:no;mso-page-border-surround-footer:no;}@page Section1{size:595.3pt 841.9pt;margin:72.0pt 90.0pt 72.0pt 90.0pt;mso-header-margin:42.55pt;mso-footer-margin:49.6pt;mso-paper-source:0;layout-gr id:15.6pt;}div.Section1{page:Section1;}--></style></head><body lang=ZH-CN style='tab-interval:21.0pt;text-justify-trim:punctuation'><div class=Section1 style='layout-gr id:15.6pt'><table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse;border:none;mso-border-alt:solid w indowtext .5pt;mso-padding-alt:0cm 5.4pt 0cm 5.4pt'><tr><td w idth=189 valign=top style='width:142.0pt;border:solid w indowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'><p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman"; mso-hansi-font-family:"Times New Roman"'>用户名</span></p></td><td w idth=189 valign=top style='width:142.05pt;border:solid windowtext .5pt;border-left:none;mso-border-left-alt:solid w indowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'><p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman"; mso-hansi-font-family:"Times New Roman"'>真实姓名</span></p></td><td w idth=189 valign=top style='width:142.05pt;border:solid windowtext .5pt;border-left:none;mso-border-left-alt:solid w indowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'><p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman"; mso-hansi-font-family:"Times New Roman"'>性别</span></p></td></tr><%Class.forName("sun.jdbc.odbc.JdbcOdbcDr iver");String url="jdbc:odbc:mydb";//连接mydb数据库Connection con=Driver Manager.getC onnection (url, "", "");try{Statement stmt=con.createStatement();//查询employee表ResultSet rs=stmt.executeQuery("select user_name, real_name, gender from employee ");while(rs.next()){%><tr><td w idth=189 valign=top style='width:142.0pt;border:solid w indowtext .5pt;border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'><p class=MsoNormal><span lang=EN-US><%=rs.getString("user_name")%></span></p></td><td w idth=189 valign=top style='width:142.05pt;border-top:none;border-left:none;border-bottom:solid w indowtext .5pt;border-right:solid w indowtext .5pt;mso-border-top-alt:solid windowtext .5pt;mso-bor der-left-alt:solid w indowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'><p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman"; mso-hansi-font-family:"Times New Roman"'><%=rs.getStr ing("real_name")%></span></p></td><td w idth=189 valign=top style='width:142.05pt;border-top:none;border-left:none;border-bottom:solid w indowtext .5pt;border-right:solid w indowtext .5pt;mso-border-top-alt:solid windowtext .5pt;mso-bor der-left-alt:solid w indowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'><p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'><%=rs.getStr ing("gender")%></span></p></td></tr><%} // end whilers.close();stmt.close();} finally {con.close();}%></table><p class=MsoNormal><span lang=EN-US><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>。