高级自定义查询、分页、多表联合存储过程

分页存储过程代码如下:
None.gif ALTER   PROCEDURE   [ dbo ] . [ Task_SelectPagedAndSorted ]  
None.gif(
None.gif    
@ProjectID   uniqueidentifier ,
None.gif    
@ProjectAreaID   uniqueidentifier ,
None.gif    
@DepartmentID   uniqueidentifier ,
None.gif    
@ChiefID   uniqueidentifier ,
None.gif    
@State   nvarchar ( 32 ),
None.gif    
@Priority   int ,
None.gif    
@Triage   nvarchar ( 32 ),
None.gif    
@PlanStartDateF   datetime ,
None.gif    
@PlanStartDateL   datetime ,
None.gif    
@PlanEndDateF   datetime
None.gif    
@PlanEndDateL   datetime
None.gif    
@CompletedDateF   datetime ,
None.gif    
@CompletedDateL   datetime ,
None.gif    
@SortExpression   nvarchar ( 256 ),
None.gif    
@StartRowIndex   int ,
None.gif    
@MaximumRows   int
None.gif)    
None.gif
AS
None.gif
None.gif
DECLARE   @sql   nvarchar ( 4000 )
None.gif
DECLARE   @ViewSql   nvarchar ( 4000 )
None.gif
DECLARE   @WhereClause   nvarchar ( 2000 )
None.gif
DeCLARE   @FEndRowIndex   int
None.gif
DeCLARE   @FStartRowIndex   int
None.gif
DeCLARE   @FMaximumRows   int
None.gif
DeCLARE   @FSortExpression   nvarchar ( 256 )
None.gif
None.gif
--  Make sure a @sortExpression is specified
None.gif
IF   LEN ( @SortExpression >   0
None.gif  
SET   @FSortExpression   =   @SortExpression
None.gif
ELSE
None.gif  
SET   @FSortExpression   =   ' ChangedDate DESC '
None.gif
None.gif
if  ( @StartRowIndex   is   null )
None.gif  
SET   @FStartRowIndex   =   0 ;
None.gif
else
None.gif  
SET   @FStartRowIndex   =   @StartRowIndex
None.gif
if  ( @MaximumRows   is   null or  ( @MaximumRows   <=   0 )
None.gif  
SET   @FMaximumRows   =   1000 ;
None.gif
else
None.gif  
SET   @FMaximumRows   =   @MaximumRows  
None.gif
None.gif
SET   @FEndRowIndex   =   @FStartRowIndex   +   @FMaximumRows
None.gif
None.gif
SET   @WhereClause   =   ' WHERE -- '
None.gif
if   not  (( @ProjectID   is   null or  ( @ProjectID   =   ' 00000000-0000-0000-0000-000000000000 ' ))
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    ([ProjectID] = 
'''   +   CAST ( @ProjectID   as   nvarchar ( 64 ))  +   ''' ) '
None.gif
if   not  (( @ProjectAreaID   is   null or  ( @ProjectAreaID   =   ' 00000000-0000-0000-0000-000000000000 ' ))
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    ([ProjectAreaID] = 
'''   +   CAST ( @ProjectAreaID   as   nvarchar ( 64 ))  +   ''' ) '
None.gif
if   not  (( @DepartmentID   is   null or  ( @DepartmentID   =   ' 00000000-0000-0000-0000-000000000000 ' ))
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    ([DepartmentID] = 
'''   +   CAST ( @DepartmentID   as   nvarchar ( 64 ))  +   ''' ) '
None.gif
if   not  (( @ChiefID   is   null or  ( @ChiefID   =   ' 00000000-0000-0000-0000-000000000000 ' ))
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    ([ChiefID] = 
'''   +   CAST ( @ChiefID   as   nvarchar ( 64 ))  +   ''' ) '
None.gif
if    LEN ( @State >   0
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    ([State] = 
'''   +   @State   +   ''' ) '
None.gif
if   not  (( @Priority   is   null or  ( @Priority   <   0 ))
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    ([Priority] = 
'   +   CONVERT ( nvarchar ( 10 ),  @Priority +   ' ) '
None.gif
if    LEN ( @Triage >   0
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    ([Triage] = 
'''   +   @Triage   +   ''' ) '
None.gif
if   not  ( @PlanStartDateF   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    (([PlanStartDate] is null) or ([PlanStartDate] >= CAST(
'''   +   CAST ( @PlanStartDateF   as   nvarchar )   +   '''  AS datetime))) '
None.gif
if   not  ( @PlanStartDateL   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    (([PlanStartDate] is null) or ([PlanStartDate] <= CAST(
'''   +   CAST ( @PlanStartDateL   as   nvarchar )   +   '''  AS datetime))) '
None.gif
if   not  ( @PlanEndDateF   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    (([PlanEndDate] is null) or ([PlanEndDate] >= CAST(
'''   +   CAST ( @PlanEndDateF   as   nvarchar )   +   '''  AS datetime))) '
None.gif
if   not  ( @PlanEndDateL   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    (([PlanEndDate] is null) or ([PlanEndDate] <= CAST(
'''   +   CAST ( @PlanEndDateL   as   nvarchar )   +   '''  AS datetime))) '
None.gif
if   not  ( @CompletedDateF   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    (([CompletedDate] is null) or ([CompletedDate] >= CAST(
'''   +   CAST ( @CompletedDateF   as   nvarchar )   +   '''  AS datetime))) '
None.gif
if   not  ( @CompletedDateL   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    (([CompletedDate] is null) or ([CompletedDate] <= CAST(
'''   +   CAST ( @CompletedDateL   as   nvarchar )   +   '''  AS datetime))) '
None.gif
if  ( @WhereClause   =   ' WHERE -- ' )
None.gif  
SET   @WhereClause   =   ''
None.gif        
None.gif
SET   @sql   =   '
None.gifSELECT 
None.gif  Task.[TaskID], 
None.gif  [TaskSQN], 
None.gif  [TaskName], 
None.gif  [DepartmentID], 
None.gif  [ChangerID], 
None.gif  [CreatedDate], 
None.gif    (SELECT FullName FROM dbo.UserInfo AS CreatorUser WHERE (dbo.Task.CreatorID = UserID)) AS 
None.gif  Creator,
None.gif  [CreatorID], 
None.gif  [Triage], 
None.gif    (SELECT DepartmentName FROM dbo.Department WHERE (dbo.Task.DepartmentID = DepartmentID)) AS 
None.gif  Department, 
None.gif  [ChiefID], 
None.gif    (SELECT FullName FROM dbo.UserInfo AS ChiefUser WHERE (dbo.Task.ChiefID = UserID)) AS 
None.gif  Chief, 
None.gif  [ProjectID], 
None.gif    (SELECT ProjectName FROM dbo.Project WHERE (dbo.Task.ProjectID = ProjectID)) AS 
None.gif  Project,
None.gif  [PlanEndDate], 
None.gif  [PlanStartDate], 
None.gif  [CompletedDate], 
None.gif  [Priority], 
None.gif  [State], 
None.gif  [WorkLoad], 
None.gif    (SELECT TaskName FROM dbo.Task AS ParentTask WHERE (dbo.Task.ParentID = TaskID)) AS 
None.gif  ParentTask,  
None.gif  [ParentID], 
None.gif    (SELECT ProjectAreaName FROM dbo.ProjectArea WHERE (dbo.Task.ProjectAreaID = ProjectAreaID)) AS 
None.gif  ProjectArea,
None.gif  [ProjectAreaID], 
None.gif  [Description], 
None.gif  [Rev], 
None.gif  [ChangedDate], 
None.gif    (SELECT FullName FROM dbo.UserInfo AS ChangerUser WHERE (dbo.Task.ChangerID = UserID)) AS 
None.gif  Changer  
None.gifFROM Task,    
None.gif    (SELECT 
None.gif      [TaskID],       
None.gif      ROW_NUMBER() OVER (ORDER BY 
'   +   @FSortExpression   +   ' ) AS RowRank 
None.gif    FROM [Task]  
None.gif    
'   +   @WhereClause   +   '
None.gif     ) AS RankTask
None.gifWHERE (Task.TaskID = RankTask.TaskID)
None.gif  AND (RankTask.RowRank >= 
'   +   CONVERT ( nvarchar ( 10 ),  @FStartRowIndex +   '
None.gif  AND (RankTask.RowRank < 
'   +   CONVERT ( nvarchar ( 10 ),  @FEndRowIndex +   ' )
None.gif
'
None.gif
None.gif
SET   @ViewSql   =   '
None.gifSELECT 
None.gif  ViewTask.[TaskID], 
None.gif  [TaskSQN], 
None.gif  [TaskName], 
None.gif  [DepartmentID], 
None.gif  [ChangerID], 
None.gif  [CreatedDate],   
None.gif  [Creator],
None.gif  [CreatorID], 
None.gif  [Triage],    
None.gif  [Department], 
None.gif  [ChiefID], 
None.gif  [Chief], 
None.gif  [ProjectID], 
None.gif  [Project],
None.gif  [PlanEndDate], 
None.gif  [PlanStartDate], 
None.gif  [CompletedDate], 
None.gif  [Priority], 
None.gif  [State], 
None.gif  [WorkLoad], 
None.gif  [ParentTask],  
None.gif  [ParentID], 
None.gif  [ProjectArea],
None.gif  [ProjectAreaID], 
None.gif  [Description], 
None.gif  [Rev], 
None.gif  [ChangedDate], 
None.gif  [Changer]  
None.gifFROM ViewTask,    
None.gif    (SELECT 
None.gif      [TaskID],       
None.gif      ROW_NUMBER() OVER (ORDER BY 
'   +   @FSortExpression   +   ' ) AS RowRank 
None.gif    FROM [Task]  
None.gif    
'   +   @WhereClause   +   '
None.gif     ) AS RankTask
None.gifWHERE (ViewTask.TaskID = RankTask.TaskID)
None.gif  AND (RankTask.RowRank >= 
'   +   CONVERT ( nvarchar ( 10 ),  @FStartRowIndex +   '
None.gif  AND (RankTask.RowRank < 
'   +   CONVERT ( nvarchar ( 10 ),  @FEndRowIndex +   ' )
None.gif
'  
None.gif
None.gif
EXEC  sp_executesql  @sql       
None.gif
None.gif
RETURN  

计算Count代码如下:
None.gif ALTER   PROCEDURE  dbo.Task_SelectPagedAndSortedCount 
None.gif(
None.gif    
@ProjectID   uniqueidentifier ,
None.gif    
@ProjectAreaID   uniqueidentifier ,
None.gif    
@DepartmentID   uniqueidentifier ,
None.gif    
@ChiefID   uniqueidentifier ,
None.gif    
@State   nvarchar ( 32 ),
None.gif    
@Priority   int ,
None.gif    
@Triage   nvarchar ( 32 ),
None.gif    
@PlanStartDateF   datetime ,
None.gif    
@PlanStartDateL   datetime ,
None.gif    
@PlanEndDateF   datetime
None.gif    
@PlanEndDateL   datetime
None.gif    
@CompletedDateF   datetime ,
None.gif    
@CompletedDateL   datetime ,
None.gif    
@Count   int  output
None.gif)    
None.gif
AS
None.gif
None.gif
DECLARE   @sql   nvarchar ( 4000 )
None.gif
DECLARE   @WhereClause   nvarchar ( 2000 )
None.gif
None.gif
SET   @WhereClause   =   ' WHERE -- '
None.gif
if   not  ( @ProjectID   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    ([ProjectID] = CAST(
'''   +   CAST ( @ProjectID   as   nvarchar +   ''' ) AS uniqueidentifier) '
None.gif
if   not  ( @ProjectAreaID   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    ([ProjectAreaID] = CAST(
'''   +   CAST ( @ProjectAreaID   as   nvarchar +   ''' ) AS uniqueidentifier) '
None.gif
if   not  ( @DepartmentID   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    ([DepartmentID] = CAST(
'''   +   CAST ( @DepartmentID   as   nvarchar +   ''' ) AS uniqueidentifier) '
None.gif
if   not  ( @ChiefID   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    ([ChiefID] = CAST(
'''   +   CAST ( @ChiefID   as   nvarchar +   ''' ) AS uniqueidentifier) '
None.gif
if    LEN ( @State >   0
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    ([State] = 
'''   +   @State   +   ''' ) '
None.gif
if   not  (( @Priority   is   null or  ( @Priority   <   0 ))
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    ([Priority] = 
'   +   CONVERT ( nvarchar ( 10 ),  @Priority +   ' ) '
None.gif
if    LEN ( @Triage >   0
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    ([Triage] = 
'''   +   @Triage   +   ''' ) '
None.gif
if   not  ( @PlanStartDateF   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    (([PlanStartDate] is null) or ([PlanStartDate] >= CAST(
'''   +   CAST ( @PlanStartDateF   as   nvarchar )   +   '''  AS datetime))) '
None.gif
if   not  ( @PlanStartDateL   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    (([PlanStartDate] is null) or ([PlanStartDate] <= CAST(
'''   +   CAST ( @PlanStartDateL   as   nvarchar )   +   '''  AS datetime))) '
None.gif
if   not  ( @PlanEndDateF   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    (([PlanEndDate] is null) or ([PlanEndDate] >= CAST(
'''   +   CAST ( @PlanEndDateF   as   nvarchar )   +   '''  AS datetime))) '
None.gif
if   not  ( @PlanEndDateL   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    (([PlanEndDate] is null) or ([PlanEndDate] <= CAST(
'''   +   CAST ( @PlanEndDateL   as   nvarchar )   +   '''  AS datetime))) '
None.gif
if   not  ( @CompletedDateF   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    (([CompletedDate] is null) or ([CompletedDate] >= CAST(
'''   +   CAST ( @CompletedDateF   as   nvarchar )   +   '''  AS datetime))) '
None.gif
if   not  ( @CompletedDateL   is   null )
None.gif  
SET   @WhereClause   =   @WhereClause   +   ' AND
None.gif    (([CompletedDate] is null) or ([CompletedDate] <= CAST(
'''   +   CAST ( @CompletedDateL   as   nvarchar )   +   '''  AS datetime))) '
None.gif
if  ( @WhereClause   =   ' WHERE -- ' )
None.gif  
SET   @WhereClause   =   ''
None.gif
None.gif
SET   @sql   =   ' (
None.gifSELECT 
None.gif  
'   +   @Count   +   '  = Count(*)
None.gifFROM [Task]  
None.gif    
'   +   @WhereClause   +   ' ) '
None.gif
None.gif
--  Execute the SQL query
None.gif
EXEC  sp_executesql  @sql
None.gif
None.gif
RETURN
None.gif

DataList代码如下:
None.gif < atlas:UpdatePanel  ID ="TaskListUpdatePanel"  runat ="server"  Mode ="Conditional" >
None.gif      
< Triggers >
None.gif        
< atlas:ControlEventTrigger  ControlID ="TaskFiltButton"  EventName ="Click"   />
None.gif        
< atlas:ControlEventTrigger  ControlID ="NewTaskFormView"  EventName ="ItemInserted"   />
None.gif      
</ Triggers >
None.gif      
< ContentTemplate >
None.gif        
< asp:DataList  ID ="TaskListDataList"  runat ="server"  Width ="100%"  DataSourceID ="TaskListDataSource" >
None.gif          
< ItemTemplate >
ExpandedBlockStart.gifContractedBlock.gif            
<% dot.gif --<div class="DataListDate">
ExpandedBlockEnd.gif            
</div>--
%>
None.gif            
< div  class ="DataListItem" >
None.gif              
< div  class ="DataListTitle" >
ExpandedBlockStart.gifContractedBlock.gif                
< asp:HyperLink  ID ="TaskListDetailLink"  runat ="server"  NavigateUrl ='<%#  Eval("TaskID", "~/ControlPanel/WorkItem/TaskDetail.aspx?TaskID ={0}")  % > ' Text=' <% dot.gif Eval("TaskName" %> '>
None.gif                
</ asp:HyperLink >
None.gif              
</ div >
None.gif              
< div  class ="DataListStatus" >
None.gif                
< asp:Label  ID ="PriorityLabel"  runat ="server"  Text ='<%#  Eval("Priority") % > '> </ asp:Label >
None.gif                
&nbsp; | &nbsp;
None.gif                
< asp:Label  ID ="TaskListCompletedDateLabel"  runat ="server"  Text ='<%#  Eval("CompletedDate", "{0:yyyy-MM-dd}") % > '> </ asp:Label >
None.gif                
&nbsp; | &nbsp;
None.gif                
< asp:Label  ID ="TaskListStateLabel"  runat ="server"  Text ='<%#  Eval("State") % > '> </ asp:Label >
None.gif                
&nbsp; | &nbsp;
None.gif                
< asp:Label  ID ="TriageLabel"  runat ="server"  Text ='<%#  Eval("Triage") % > '> </ asp:Label >
None.gif              
</ div >
None.gif              
< div  class ="DataListBody" >
None.gif                
< asp:Literal  ID ="TaskListDescriptionLiteral"  runat ="server"  Text ='<%#  Eval("Description") % > '> </ asp:Literal >
None.gif              
</ div >
None.gif              
< div  class ="DataListFoot" >
ExpandedBlockStart.gifContractedBlock.gif                
< asp:HyperLink  ID ="TaskListDepartmentIDLink"  runat ="server"  NavigateUrl ='<%#  Eval("DepartmentID", "~/ControlPanel/DepartmentManage.aspx?DepartmentID ={0}")  % > ' Text=' <% dot.gif Eval("Department" %> '>
None.gif                
</ asp:HyperLink >
None.gif                
&nbsp; | &nbsp;
ExpandedBlockStart.gifContractedBlock.gif                
< asp:HyperLink  ID ="TaskListChiefIDLink"  runat ="server"  NavigateUrl ='<%#  Eval("ChiefID", "~/ControlPanel/DepartmentManage.aspx?UserID ={0}")  % > ' Text=' <% dot.gif Eval("Chief" %> '>
None.gif                
</ asp:HyperLink >
None.gif                
&nbsp; | &nbsp;
ExpandedBlockStart.gifContractedBlock.gif                
< asp:HyperLink  ID ="TaskListProjectIDLink"  runat ="server"  NavigateUrl ='<%#  Eval("ProjectID", "~/ControlPanel/ProjectManage.aspx?ProjectID ={0}")  % > ' Text=' <% dot.gif Eval("Project" %> '>
None.gif                
</ asp:HyperLink >
None.gif                
&nbsp; | &nbsp;
ExpandedBlockStart.gifContractedBlock.gif                
< asp:HyperLink  ID ="TaskListProjectAreaIDLink"  runat ="server"  NavigateUrl ='<%#  Eval("ProjectAreaID", "~/ControlPanel/ProjectManage.aspx?ProjectAreaID ={0}")  % > ' Text=' <% dot.gif Eval("ProjectArea" %> '>
None.gif                
</ asp:HyperLink >
ExpandedBlockStart.gifContractedBlock.gif                
<% dot.gif --&nbsp;|&nbsp;
InBlock.gif                
<asp:HyperLink ID="TaskListParentIDLink" runat="server" NavigateUrl='<%# Eval("ParentID", "~/TaskDetail.aspx?TaskID={0}") %>' Text='<%# Eval("Parent.TaskName") %>'>
ExpandedBlockEnd.gif
                </asp:HyperLink>--
%>
None.gif                
&nbsp; | &nbsp;
None.gif                
< asp:Label  ID ="TaskListPlanStartDatePlanEndDateLabel"  runat ="server"  Text ='<%#  "(" + Eval("PlanStartDate", "{0:yyyy-MM-dd}") + "~" + Eval("PlanEndDate", "{0:yyyy-MM-dd}") + ")" % > '> </ asp:Label >
None.gif              
</ div >
None.gif              
< div  class ="DataListVersion" >
None.gif                
<% =  Resources.Resource.Creator  +   " " %>
None.gif                
< asp:Label  ID ="CreatorLabel"  runat ="server"  Text ='<%#  Eval("Creator") % > '> </ asp:Label >
None.gif                
< asp:Label  ID ="CreatedDateLabel"  runat ="server"  Text ='<%#  Eval("CreatedDate", "{0:yyyy-MM-dd hh:mm:ss}") % > '> </ asp:Label >
None.gif                
&nbsp; | &nbsp;
None.gif                
<% =  Resources.Resource.Changer  +   " " %>
None.gif                
< asp:Label  ID ="ChangerLabel"  runat ="server"  Text ='<%#  Eval("Changer") % > '> </ asp:Label >
None.gif                
< asp:Label  ID ="ChangedDateLabel"  runat ="server"  Text ='<%#  Eval("ChangedDate", "{0:yyyy-MM-dd hh:mm:ss}") % > '> </ asp:Label >
None.gif              
</ div >
None.gif            
</ div >
None.gif          
</ ItemTemplate >
None.gif        
</ asp:DataList >
None.gif        
< asp:ObjectDataSource  ID ="TaskListDataSource"  runat ="server"  DataObjectTypeName ="AIO.WITDB.WITDataObject"  SelectMethod ="ReadPagedAndSorted"  TypeName ="AIO.WITDB.WITDataObject" >
None.gif          
< SelectParameters >
None.gif            
< asp:ControlParameter  ControlID ="TaskFiltProjectList"  Name ="projectID"  PropertyName ="SelectedValue"   />
None.gif            
< asp:ControlParameter  ControlID ="TaskFiltProjectAreaTextBox"  Name ="projectAreaID"  PropertyName ="Value"   />
None.gif            
< asp:ControlParameter  ControlID ="TaskFiltDepartmentTextbox"  Name ="departmentID"  PropertyName ="Value"   />
None.gif            
< asp:ControlParameter  ControlID ="TaskFiltChiefList"  Name ="ChiefID"  PropertyName ="SelectedValue"   />
None.gif            
< asp:ControlParameter  ControlID ="TaskFiltStateSelectOptionDropDownList"  Name ="state"  PropertyName ="SelectOptionItem"  Type ="String"   />
None.gif            
< asp:ControlParameter  ControlID ="TaskFiltPrioritySelectOptionDropDownList"  Name ="priority"  PropertyName ="SelectOptionItem"  Type ="String"   />
None.gif            
< asp:ControlParameter  ControlID ="TaskFiltTriageSelectOptionDropDownList"  Name ="triage"  PropertyName ="SelectOptionItem"  Type ="String"   />
None.gif            
< asp:ControlParameter  ControlID ="TaskFiltPlanStartDateFDateTextBox"  Name ="planStartDateF"  PropertyName ="Text"  Type ="DateTime"   />
None.gif            
< asp:ControlParameter  ControlID ="TaskFiltPlanStartDateLDateTextBox"  Name ="planStartDateL"  PropertyName ="Text"  Type ="DateTime"   />
None.gif            
< asp:ControlParameter  ControlID ="TaskFiltPlanEndDateFDateTextBox"  Name ="planEndDateF"  PropertyName ="Text"  Type ="DateTime"   />
None.gif            
< asp:ControlParameter  ControlID ="TaskFiltPlanEndDateLDateTextBox"  Name ="planEndDateL"  PropertyName ="Text"  Type ="DateTime"   />
None.gif            
< asp:ControlParameter  ControlID ="TaskFiltCompletedDateFDateTextBox"  Name ="completedDateF"  PropertyName ="Text"  Type ="DateTime"   />
None.gif            
< asp:ControlParameter  ControlID ="TaskFiltCompletedDateLDateTextBox"  Name ="completedDateL"  PropertyName ="Text"  Type ="DateTime"   />
None.gif            
< asp:Parameter  ConvertEmptyStringToNull ="True"  DefaultValue =""  Name ="sortExpression"  Type ="String"   />
None.gif            
< asp:Parameter  ConvertEmptyStringToNull ="True"  DefaultValue ="0"  Name ="startRowIndex"   />
None.gif            
< asp:Parameter  ConvertEmptyStringToNull ="True"  DefaultValue ="20"  Name ="maximumRows"   />
None.gif          
</ SelectParameters >
None.gif        
</ asp:ObjectDataSource >
None.gif      
</ ContentTemplate >
None.gif    
</ atlas:UpdatePanel >


        本来系统采用BLinq实现、因为有复杂的逻辑关系、在业务层联合会产生大量的查询语句(大概200~200个)、现在采用存储过程调用动态SQL效率大大提高了。希望会对朋友有所帮助和借鉴

转载于:https://www.cnblogs.com/Bolik/archive/2006/08/24/485647.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值