撰写中的QueryIt说明书(beta)

 

QueryIt 1.0 指南

*功能描述

     QueryIt是基于IIS和COM+的查询系统,使用delphi7开发。仅更改几个配置文件就可以完成对查询系统的更改,方便使用。
    仅在服务器端维护查询,客户端自动获取更改。
     整个系统具有通用性,没有任何特定于业务方面的代码,因此可以使用在需要的场合。
     同时其源码与TForm松耦合,你可以将其集成在你的代码中。
     没有操作注册表,绿色,拷贝即可使用。
   
     通过配置文件可以   
         *配置自定义查询
         *配置查询要求用户输入的若干条件,支持多种数据类型
          文本,日期,整数,浮点数,复选框列表(支持选项也从数据库取得),下拉列表
         *配置数据库连接信息,并可选是否加密
         *配置查询的相关报表打印项
        *隐藏字段,在客户端界面不显示
       
 查询得到的数据可以
   *导出成多种格式(excel、word、pdf、html、xml...)
         *直接打印表格
         *屏蔽选中的结果数据,即不打印某几条记录
         *配置多个报表,并一次性打印,即对同样的结果按多种设定的格式顺序打印
         *动态设置每种报表的使用打印机,方便一次性打印
         *每种打印还可配置本地过滤
         *运行期配置报表
         *浮点数、整数的字段自动总计
         *结果界面按任意字段排序
         *自动将特定字段进行数字->大写金额,数字->大写数字转换
         *文本类型的输入条件本地缓存历史
         *webservice和COM+均可以记录日志,日志有info,error,debug3个级别
         *复制选中字段或当前记录的快照到剪贴板
       

*文件结构  

    整个系统的文件结构及其作用说明如下:
        src/webservice                          webservice代码
        src/complus                              COM+代码
        src/queryit                                客户端代码
        src/queryit.public                       QueryIt公用的pas文件
        src/public                                  通用函数包
       
        dist/webservice/dataservice.dll    webservice实现,isapi类型的dll,应放在iis环境中
        dist/webservice/config.xml          配置client升级的url
        dist/webservice/logs/log4d.config日志记录配置文件
       
        dist/complus/mtsexecutor.dll       COM+实现,安装在支持组件服务的环境中
        dist/complus/query.xml              查询的配置,供COM+组件载入并提供服务
        dist/complus/logs/log4d.config 日志记录配置文件
       
        dist/client/queryit.exe                 客户端实现
        dist/client/query.client.xml          本地配置,主要存储每个打印使用的打印机信息
        dist/client/system.xml                  配置webservice调用地址
        dist/client/history.xml                  存储输入关键字历史件
       

*使用方法

    --如果仅仅想使用之
        部署好系统后,对query.xml的配置将是工作中心。新增一个queryItem节点,客户端就会获取这个新的查询。
        query.xml的装卸规则,我没有提供xslt或dtd文件,但应该能看懂的。唯一要注意的是转义字符,例如如果sql语句中需要where a<>'金' ,那么应该写成where a&lt;&gt;'金'。
       
    --如果你想将QueryIt的代码上集成到你的系统中,这里有一些简要的设计说明
        整个系统中webservice仅仅作为转发层存在,COM+组件启动时会载入query.xml文件,并屏蔽其中的sql和数据库连接信息,返回给客户端,客户端将收到该组件提供的查询列表。当客户端执行某个报表时,根据其中的定义的条件信息,生成供用户输入的界面,要求用户输入必要的查询条件,之后将输入的条件封装并提交给后台进行查询,后台将输入的条件应用到预定义的sql中,执行sql并返回数据。客户端接到返回数据后,将进行自动转换(如数字->大写金额)等工作,然后以表格形式呈现,并提供多种处理当前结果集的功能,如导出,打印。。。
       


*使用的工具和控件

    delphi 7.0
    raize3.0.12
    ehlib3.6
    fastreport2.53
    acupgrader
   
*版权声明

    QueryIt使用了一些商业的第3方控件,你可能需要为此付费,但QueryIt本身是完全免费并开源的,你可以任意的修改,使用,拷贝,分发,扩充它,作者仅希望能带给一线开发者一些便利,如果有改进的想法,希望也能mail告知,(联系方式见后),而共同研讨.

   

*安装步骤:

    (注:以下步骤中$开头的名称都可以任取.)
   
1.安装com+
    控制面板-管理工具-组件服务-计算机-我的电脑-COM+应用程序,右键-新建应用程序-创建空应用程序-输入$QueryItCom-服务器应用程序-下列用户-输入administrator的用户名和密码-完成


    在$QueryItCom-组件上,右键-新增-组件-安装新组件-选择MtsExecutor.dll-..-完成
   你还可以在MtsExecutor组件的属性上如下设置连接池,这样在真正的生产运用中,将会得到很高的性能。
   
2.安装WebService服务
    在iis下新建虚拟目录$queryit.webservice指向dataservice.dll所在目录


    右键$queryit.webservice->属性->设置“应用程序保护级别”为“低”。(缺省为中),否则soap应用将不稳定
    如果访问http://该机器的ip/$queryit.webservice/dataservice.dll,有网页的化,那么就成功了。
   
    如果该机器和安装COM+的机器不是一台机器的化,你还需要在该机器上安装COM+代理。COM+代理是由上一个COM+安装完后,在组件服务中该组件上点右键->导出生成的msi安装包。另一个替代的方法是使用webservice转发器(仅配置不同的webservice组件的config.xml文件)

3.安装client
    可以直接使用client目录中的配置,仅更改system.xml文件中的webservice地址。
1<?xml version="1.0" encoding="gbk"?>
2<!--此处用来配置webservice地址信息参加下面的示例配置,第一次使用时修改wsUrl属性定义为你自己的webservice发布地址-->
3<!--sendAuth控制client是否发送认证信息往webservice服务器,而验证client是webservice缺省实现的默认行为,因此应保持其值为true-->
4<system wsUrl="http://localhost/webservice/DataService.dll" sendAuth="true">
5</system>

4.配置Com+和Query.xml
    在组件服务中配置mtsexecutor的池子配置,根据最高并发量配置相应的池大小。


    query.xml内有详细的说明如何配置其自身。保证query.xml和mtsexecutor.dll在同一目录下即可。

5.测试
    
    执行queryit.exe。    
    
   


*联系方式

    如果您发现了任何程序的bug或需要增强的功能,可以:
    --在http://blog.csdn.net/jalphi/category/188288.aspx给我留言
    --发邮件往jalphi@gmail.com
   
    但我并不保证能及时将其解决.:P
    
 


   完

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值