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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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
 
      }

 

posted @   小小高  阅读(914)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示