运维工作总结 存储过程不可以修改的情况下没办法只能修改cs文件

l  事件:

修改数据之后,发现旧数据和新数据同时在页面上显示出来了,于是只好从cs文件中找到存储过程,修改存储过程。

但是在两个页面和一个report server 中,调用的两个存储过程:

  1. sproc_Region_Get_List_Filtered     Create Project 页面
  2. sproc_Region_Get_List            Update user页面和report server 调用了此存储过程

 

修改之后并不能显示出同样的结果,为了快速实现页面过滤出有效数据(新数据),只好修改两个页面的cs文件。

l  修改.cs 文件的过程:

在修改Update User 和Create Project页面时 都只在调用该存储过程的代码下新添加     

源代码 是:

this.drpDwnRegionList.DataSource= ds.Tables[0];

修改掉的代码 是:

//LMY 20160622

DataViewdv = ds.Tables[0].DefaultView;

dv.RowFilter = "Isactive=1";

DataTablenewtable = dv.ToTable();

this.drpDwnRegionList.DataSource= newtable;

 

 

l  修改 storeProcedure文件的过程:

由于.cs文件进行了修改,相应的存储过程也要对应的变化来匹配前端页面调用的IsActive=1的过滤条件。

无非 是在存储过程的select条件中多加了一个 select 条件 就是IsActive .

但是 其中有一个存储过程需要union一个select语句,深红色字部分是后加上去的,同时 union中的深红色字也要相应的加。这样才能连接起来。

Union一定要前后select的列是一样的。

alter  Procedure [dbo].[sproc_Region_Get_List]

 

    @ActiveOnly Bit = 0

AS

SET NOCOUNT ON

    SELECT      Region.RegionIdAS ID, Region.RegionName as Label, Region.RegionCode as RegionCode,Region.IsActive as IsActive

FROM      dbo.Ref_Region Region

WHERE

    (

       (@ActiveOnly =0) or  (Region.IsActive = 1)

    )

 

UNION

 

--LMY 20160622

      SELECT    NULL AS ID, 'All Regions' AS Label, NULL AS RegionCode ,1 AS IsActive

      ORDER BY Label

 

SET NOCOUNT OFF

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值