SQL Server存储过程:数据统计和C#使用方式

根据条件统计维度存储过程

CREATE PROCEDURE [dbo].[Proc_WeiDuTongJi]
	@code VARCHAR(9)
AS
 
BEGIN

	declare @weidu1 int,@weidu2 int,@weidu3 int,@weidu4 int,@weidu5 int

	select @weidu1=0,@weidu2 =0,@weidu3 =0,@weidu4 =0,@weidu5 =0
	
	--维度1
	select @weidu1=count(0) from [Table1](nolock) where [code]=@code
	
	--维度2
	select @weidu2=count(0) from [Table2](nolock) where [code]=@code
	
	--维度3
	select @weidu3=count(0) from [Table3](nolock) where [code]=@code
	
	--维度4
	select @weidu4=count(0) from [Table4](nolock) where [code]=@code
	
	--维度5
	select @weidu5=count(0) from [Table5](nolock) where [code]=@code
	
	select @weidu1 as 'weidu1',@weidu2 as 'weidu2',@weidu3 as 'weidu3',@weidu4 as 'weidu4',
	@weidu5 as 'weidu5'

END
GO

通过C#获取统计维度


        public cla GetWeiDu()
        {
            cla item = null;
            SqlParameter[] sps = new SqlParameter[] {
                new SqlParameter("@code","1111111111")
            };
            
			//传入需要统计的条件code
            SqlDataReader dataReader = ExecuteProcReader("Proc_WeiDuTongJi", sps);

            if (dataReader.Read())
            {
                item = new cla();
                item.a = Convert.ToInt32(dataReader["weidu1"]).ToString();
                item.b = Convert.ToInt32(dataReader["weidu2"]).ToString();
                item.c = Convert.ToInt32(dataReader["weidu3"]).ToString();
                item.d = Convert.ToInt32(dataReader["weidu4"]).ToString();
                item.e = Convert.ToInt32(dataReader["weidu5"]).ToString();
            }
            dataReader.Close();
            return item;
        }

        /// <summary>
        /// 执行存储过程
        /// </summary>
        /// <param name="procName"></param>
        /// <param name="param"></param>
        /// <returns>记录集</returns>
        public SqlDataReader ExecuteProcReader(string procName, SqlParameter[] param)
        {
            SqlConnection conn = new SqlConnection("server=192.168.2.168;database=table;uid=admin;pwd=123456");
            SqlCommand cmd = new SqlCommand(procName, conn);
            cmd.Parameters.AddRange(param);
            cmd.CommandType = CommandType.StoredProcedure;
            conn.Open();
            return cmd.ExecuteReader(CommandBehavior.CloseConnection);
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值