[第一节]开发你的第一个HW项目

 

引言

HW主要用来简化中小型企业级项目开发,想更多了解HW可以做什么,可以点击下面的连接

相信吗?仅仅通过配置sql(select\update\insert\delete)语句就能开发小型企业级项目

您也可以加入HW讨论交流群297347314或发邮件至hwhoward@126.com 获取最新的程序集和帮助文档,所有文档也会逐步上传到园子里。

程序资源包(包含HW主程序和HW开发的人事系统源码)http://pan.baidu.com/share/link?shareid=520680&uk=2214994577

点击下载本节Demo

 

  有任何问题可在下方留言

 

在程序资源包中打开hwDefine.exe文件(HW主程序),点击“文件→新建”,输入一个项目名称(hr.hw),来创建我们的第一个hw项目。

项目创建好后可以在“应用程序属性”中设置项目名称、版本、版权等信息,然后保存,如下图

 

一个典型的HW项目包括

应用程序属性:设置所创建项目的版权版本等基本信息,设置自定义url入口

国际化:通过KEY(语言描记)设置项目的国际化版本,支持中、英、德、法、日及韩语等六国语言

约束管理:用于设置项目文本框等输入模块的约束,约束使用正则表达式来验证

资源文件:加入项目运行中所需使用的资源文件(图片、javascript脚本、css样式、rpt水晶报表、DLL程序集及其他文件),资源文件将存放于hwconfig目录下

数据集:设置HW项目所使用的主从数据库,需对主数据库进行初始化设置,初始化会对主数据库创建一系列表,可查看数据设计文档了解系统创建了哪些表及其作用

事件集:与导航菜单绑定的一系列操作集合,事件集定义了项目的作用及效果,终极用户所做的每个操作都对应一个事件

用户管理:用于设置项目的用户登录及用户权限

导航菜单:设置用户登录后进入主界面的导航菜单栏

 

一、指定数据集(sql connection string)

在数据集中添加一个新数据源,输入数据库连接验证来创建一个HW数据库,这里我们选择人事系统数据库,如下图

数据库创建好后需对数据库进行初始化,初始化操作会在数据库中创建一系列表(如果要创建的表存在则不会重复创建,以免丢失数据),你可以在资源包中查看初始时创建的表结构及说明。

注:可以添加多个数据库,但必须指定一个初始化数据库也就是主数据库,因为HW会向表中写入用户登录记录和管理文件上传

 

二、设置用户登录

在用户管理中可以设置用户登录

见上图,HW中的登录窗体是模态窗体,我们添加了两个文本框user pass分别让用户输入登录的用户名和密码。注意我们勾上了“始终检查用户登录”复选框,只有勾上系统才会验证当前用户是否登录并弹出登录窗体。

因密码框需要显示为*号,所以需对passconfigs配置“inputType:’password’”,见下图:

 

有关configs配置栏的更多信息会在以后进行详细说明

 

登录窗里的元素设置好后需要设置登录验证,登录验证为一条sql查询语句,根据用户输入的值查询出用户主键,如果查询有数据则为真,允许登录。

 

Select U01001 from HWU01 where U01002={param:pass} and U01006={param:user}

在人事系统中HWU01表存储系统用户,U01001表示用户主键,U01006表示登录名,U01002表示密码。

HW中通过{param:<code>}来访问上下文参数,其中<code>表示参数名称。用户登录验证成功后,可以在其整个登录周期中通过参数{param:hwparam_LoginUser}来访问登录验证查询出的用户主键。

上面的sql语句在执行时HW会对参数进行处理转换成如下语句

 

Select U01001 from HWU01 where U01002=@pass and U01006=@user

 

 

Sqlparameter @pass为密码框的值 @user 为用户名框的值。

 

注:人事系统中的密码是加密了的,所以还要对pass进行加密处理,HW内置了加密函数。我们在“验证前自定义参数设置”中进行加密,如下图

新建了一个参数pass(你也可以取一个别名,这里用pass会覆盖原来的pass的文本框值),在passvalue中设置

 

{f:ecry({param:pass},{param:user})}

{f:ecry(str,key)}是一个HW内置函数,用key作为钥匙对str进行加密。上面的设置表示用“用户名”对“密码”进行加密并将加密后的值赋值给pass

这样设置以后,登录验证中的{param:pass}则会用加密后的值进行判定

 

三、建立导航菜单

main中存在两个菜单,“程序流”和“导航菜单”。

“程序流”可以看做是HW项目的main函数入口,它会在登录成功后执行,一般程序流中的事件都是设置成“主窗体”,这样HW才会加载导航菜单。

 

“导航菜单”用来编辑项目的导航菜单栏,我们选择根节点,点击添加,加入一个“测试”节点,如图

 

你可以按层级添加多个节点,也可以拖动节点来调整位置

 

四、设置数据显示页面

节点添加好后,在导航菜单下面选择对应的节点则可以为其添加相应事件

 

这里我们添加一个“数据显示页”,用来显示人员的档案,如下图。

在数据源中指定我们先前添加的数据库hwdb,然后在编辑器中输入如下的查询语句

 

select H04001,H04003,H14002,convert(varchar(10),H14008,121) H14008,H14009,H14007 from HR04 inner join HR14 on H14001=H04001

点击“测试”可以查看数据,点击显示列旁的“加载”可以载入数据集和列字段,按下面的设置编辑每个列字段的列头并保存

H04001-代码,H04003-姓名,H14002-身份证,H14008-出生日期,H14009-电话,H14007-住址

有关数据库设计可以查看资源包中的人事系统数据库设计文档

 

按照上面的配置我们就完成了一个最简单的登录和数据显示的项目。

五、发布

点击“项目→发布测试版”,输入一个目录即可将您的项目发布成可以部署到IISweb应用程序

输入发布目录

发布后的目录文件

 

Web.config配置

writerunsql:是否启用sql跟踪,如果启用则会在项目运行时将事件运行的sql语句及参数写入根目录下的log.txt中,主要用于验证运行时的sql语句是否正确

hwconfig:指定系统所使用的hws项目配置文件,HW项目发布时会在hwconfig目录下生成hws文件,此文件保存了项目的运行时的事件集合

VirtualDirectory:虚拟目录,系统参数{param:hwparam_VirtualPath}会使用此值,用于指定iis配置的虚拟目录,在项目中添加URL时此值会有用

数据库连接字符串(hwdb,sgh,jfl):可以定义以key为名的数据库连接。这里您需要为hwdb设置正确的数据库连接字符串

 

HW发布的项目是基于MVC2的,有关如何将MVC项目部署到IIS,您可以参考此连接

http://www.cnblogs.com/taven/archive/2010/01/13/1646244.html

 

六、效果

登录窗,人事系统管理员用户名admin,密码12

登录后的数据显示效果

 

posted on 2013-04-12 11:24  howard-Wang  阅读(1611)  评论(4编辑  收藏  举报