设为首页 加入收藏

TOP

存储过程---留住你的美丽(下)(一)
2014-11-24 07:39:42 来源: 作者: 【 】 浏览:7
Tags:存储 过程 --- 留住 美丽
继上篇博客,存储过程---留住你的美丽(上),接着叨叨,美丽是留住了,如何让美丽持久惊艳别人的眼球,我们就要开动我们的小脑袋,转一转,想一想,一如上篇博客中所展示的代码一样,需要传十一个参数,各个层之间都需要重复写,键盘累了,坏了怎么办nie?还要重新上京东买,咳咳咳,言归正传,依旧结合机房收费来说,如何让存储过程美丽持久,流年过往,经年不忘......

在机房收费系统中,涉及三个组合查询,分别是学生基本信息维护、学生上机状态查看、操作员工作记录;如何让三个组合查询使用同一个存储过程,就需要我们转转小小的脑袋,几经周折,发现,我们可以把表名当成一个参数进行传递,这样,用到不同表的时候,我们只需要变更表名即可,存储过程写法如下所示:

USE [MachineRoomChargeSystem]
GO
/****** Object:  StoredProcedure [dbo].[Proc_GroupQuery]    Script Date: 08/01/2014 19:24:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<丁国华>
-- Create date: <2014年7月31日 20:08:32>
-- Description:	<组合查询--学生上机状态查看,操作员工记录>
-- =============================================
ALTER PROCEDURE [dbo].[Proc_GroupQuery]
	-- Add the parameters for the stored procedure here
	@cboFieldA varchar(10),           --字段名A
	@cboOperatorA varchar(10),        --操作符A
	@txtContentA varchar(10),         --要查询的内容A
	@cboRelationA varchar(10),        --组合关系A
	@cboFieldB varchar(10),           --字段名B
	@cboOperatorB varchar(10),        --操作符B
	@txtContentB varchar(10),         --要查询的内容B
	@cboRelationB varchar(10),        --组合关系B
	@cboFieldC varchar(11),           --字段C
	@cboOperatorC varchar(10),        --操作符C
	@txtContentC varchar(10),         --要查询的内容C
	@tableName varchar(50)            --要查询的视图名或表面名
	
	
AS
   declare @strText varchar(500)--临时存放sql语句
   --CHAR(32)是空格,CHAR(39)单引号
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	set @strText ='select * from '+@tableName+' where status !='+CHAR(39)+'正常上机'+CHAR(39)+' and status !='+char(39)+'正在值班'+CHAR(39)+' and'+CHAR(32)
	+@cboFieldA+@cboOperatorA+CHAR(39)+@txtContentA +CHAR(39)
	if @cboRelationA!=''
	begin
	set @strText=@strText+@cboRelationA+CHAR(32)+
    @cboFieldB+@cboOperatorB+CHAR(39
    )+@txtContentB+CHAR(39)
    end
	if @cboRelationB!=''
	begin
	set @strText=@strText+@cboRelationB+CHAR(32)+
    @cboFieldC+@cboOperatorC+CHAR(39)+@txtContentC+CHAR(39)
    end
    execute(@strText)
    
	
END
 
E---实体层写法如下:
'**********************************************
'文 件 名: GroupQueryEntity
'命名空间: Entity
'内    容:
'功    能: 组合查询
'文件关系:
'作    者:丁国华
'小    组:宝贝计划
'生成日期: 2014/7/31 21:33:57
'版本号:V2.0
'修改日志:
'版权说明:
'**********************************************

Public Class GroupQueryEntity
    ''' 
    ''' 组合查询用到的一系列实体
    ''' 
    ''' 
    Private _cboFieldA As String
    Public Property cboFieldA() As String
        Get
            Return _cboFieldA
        End Get
        Set(value As String)
            _cboFieldA = value
        End Set
    End Property

    Private _cboOperatorA As String
    Public Property cboOperatorA() As String
        Get
            Return _cboOperatorA
        End Get
        Set(value As String)
            _cboOperatorA = value
        End Set
    End Property

    Private _txtContentA As String
    Public Property txtContentA() As String
        Get
            Return _txtContentA
        End Get
        Set(value As String)
            _txtContentA = value
        End Set
    End Property

    Private _cboRelationA As String
    Public Property cboRelationA() As String
        Get
            Return _cboRelationA
        End Get
        Set(value As String)
            _cboRelationA = value
        End Set
    End Property

    Private _cboFieldB As String
    Public Property cboFieldB() As String
        Get
            Return _cboFieldB
        End Get
        Set(value As String)
            _cboFieldB = value
        End Set
    End Property

    Private _cboOperatorB As String
    Public Property cboOperatorB() As String
        Get
            Return _c
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ADO.NET数据库之数据库连接---Shi.. 下一篇未经处理的异常在System.Data.dll..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·HyperText Transfer (2025-12-26 07:20:48)
·半小时搞懂 HTTP、HT (2025-12-26 07:20:42)
·CPython是什么?PyPy (2025-12-26 06:50:09)
·Python|如何安装seab (2025-12-26 06:50:06)
·python要学习数据分 (2025-12-26 06:50:03)