Sql Server根据表名生成查询的存储过程(查询条件可选)

  static void Main(string[] args)
        {
           
            string 表名 = "water_emstime";
            string sql = "exec GetTableSelect " + 表名;
            string ConString = "server=xxx.xxx.xx.xx;database=newFW;uid=sa;pwd=sa";
            SqlDataAdapter da = new SqlDataAdapter(sql, ConString);
            DataSet ds = new DataSet();
            da.Fill(ds);
            string ParmsList = "";
            foreach (DataRow item in ds.Tables[0].Rows)
            {
                ParmsList += item[0].ToString() + "\n";
            }
            string Select = "";
            Select += ds.Tables[1].Rows[0][0].ToString()+"\n";
            foreach (DataRow item in ds.Tables[2].Rows)
            {
                Select += item[0].ToString() + "\n";
            }
            //根据表生成的查询存储过程
            string procSelect = string.Format(@"create proc [dbo].[get_{0}]
                                (
            	                    {1}
                                )
                                as
                                begin
            	                    {2}
                                end", 表名, ParmsList, Select);//表名 、参数列表 、查询语句



                    // create proc [dbo].[oper_water_alarm]
                    //(
                    //    @Param_monitoring_mn varchar(32)=Null,
                    //    @Param_factor_id varchar(32)=Null,
                    //    @Param_datatime datetime=Null,
                    //    @Param_value numeric(9)=Null,
                    //    @Param_flag varchar(10)=Null,
                    //    @Param_action int
                    //)
                    //as
                    //begin
                    //    if(@Param_action=0)
                    //    begin
                            //    insert into water_alarm(monitoring_mn,
                            //factor_id,
                            //datatime,
                            //value,
                            //flag)
                            //        values (@Param_monitoring_mn,
                            //@Param_factor_id,
                            //@Param_datatime,
                            //@Param_value,
                            //@Param_flag);
                    //    end
                    //    else if(@Param_action=1)
                    //    begin
                    //        delete water_alarm
                    //        where monitoring_mn=@Param_monitoring_mn
                    //    end
                    //    else
                    //    begin
                    //        Update water_alarm set monitoring_mn=@Param_monitoring_mn,
                    //        factor_id=@Param_factor_id ,
                    //        datatime=@Param_datatime ,
                    //        value=@Param_value ,
                    //        flag=@Param_flag
                    //        where monitoring_mn=@Param_monitoring_mn
                    //    end
                    //end

        }

 

转载于:https://www.cnblogs.com/gaocong/p/5694810.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值