我已经按照MSDN上的说明自己试着做了一个演示的服务,但这个服务和我想要的服务有点不太一样。一个网上商店的程序,后台中有一个报表,是用来统计每天的销售数量的,这个报表天天都要用(查这张报表的时候,需要选择日期,然后点“生成报表”按钮,就可以得到了),所以想做成一个服务,在每天晚上10点的时候让这个服务自动运行。我是个新手,目前对我来说,有以下几个问题不清楚该怎么做:
 
1 如何在vs中做windows服务的时候获得报表页面的各个参数
2 如何让服务触发报表中的“生成报表”按钮。
3 如何做定时任务谢谢各位!

解决方案 »

  1.   

    用Windows服务生成出全部报表数据,报表的显示可以直接从这些生成好的数据表中按条件提取。
      

  2.   

    1 如何在vs中做windows服务的时候获得报表页面的各个参数 
    2 如何让服务触发报表中的“生成报表”按钮。 
    3 如何做定时任务 
    -------------------------
    1 取得页面各个参数,这个可以有多个方式,如XML,或文本,把这些信息写到一个位置服务直接去读就可以了
    2 这个比较困难,应该是在服务中完成这个报表生成,而不是去调用,因为服务本身的存在就是为了解决一件事情,生成报表可能就是他本身存在的意义吧,所以应该在服务里面完成(当然也可以去调用其它的EXE,看你服务里的代码怎么写了)
    3 这个定时任务,就是在服务里写一个死循环(记发Sleep哟),然后在循环里直接判断时间,然后执行指定代码就可以了(我想执行的代码应该就是生成报表的吧=.=!)
    -------------------------
    注:在写服务的时候就应该有一个配置文件的,然后配置好触发的规则,等~~。希望对您有帮助~!
      

  3.   

    谢谢楼上各位,我也仔细想了一下,觉得还是在服务中直接生成报表比较好些,把查询到的结果输出为xml文件,保存在服务器上,这样的效果是最好的。我想了三个大的步骤,但是不知道具体该怎么做。1 判断时间。
    2 时间正确的话,执行查询报表的操作。
    3 将查询结果保存成XML文件。不知道这样可不可行,如果可行的话,希望哪位高人指点一下具体的实现方法,谢谢。。
      

  4.   

    你的思路错了, 可以说完全没有理解需求和工作安排的意思。现在的客户需求是要一张报表, 可以通过条件查询每天的销售量。1. 我们首先来分析这个需求, 为什么要用到windows服务? 必然是由于销售表数据量庞大, 实时统计会影响系统性能。2. 如何解决这个问题?建立日报中间表, 每天晚上10点,将每日销售量统计入日报中间表中.3. windows 服务的行为是什么?windows 服务本身需要做的只是10点执行统计, 将当天的销售量写入中间表。而你问题里的查询条件、报表按钮和windows服务都是不相干的, 那些属于界面操作, 明白?
      

  5.   

    你需要做的事情:
    1. 建立日报中间表,表结构要充分考虑所有查询相关的字段。
    2. 创建windows服务, 每天10点统计数据,写入日报中间表。
    3. 开发、测试、部署。
      

  6.   

    还没做过Windows 服务程序,顶,学习一下。