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 }
Sql Server根据表名生成查询的存储过程(查询条件可选)的更多相关文章
- Sql Server根据表名获得所有列及其属性
select a.name columnname,c.name as typename,case when a.is_nullable =0 then 'Not Null' else 'Null' e ...
- SQL Server 根据表名取得 表主键
exec sp_primary_keys_rowset N'表名',NULL
- sql server - 修改表名、列名
EXEC sp_rename '旧表名', '新表名'; 例子 EXEC sp_rename 'saveremark', 'drawingLooking'; EXEC sp_rename '表名.[列 ...
- Sql Server备份表,动态生成表名称
1.常用的数据库备份表语句 SELECT * INTO tableNameNew FROM tableName 2.动态备份表,且备份表名称后面增加三位随机字符和当前日期 1 DECLARE @bak ...
- SQL Server 锁表、查询被锁表、解锁相关语句
SQL Server 锁表.查询被锁表.解锁相关语句,供参考. --锁表(其它事务不能读.更新.删除) BEGIN TRAN SELECT * FROM <表名> WITH(TABLOCK ...
- SQL Server调优系列基础篇(子查询运算总结)
前言 前面我们的几篇文章介绍了一系列关于运算符的介绍,以及各个运算符的优化方式和技巧.其中涵盖:查看执行计划的方式.几种数据集常用的连接方式.联合运算符方式.并行运算符等一系列的我们常见的运算符.有兴 ...
- SQL Server系统表介绍与使用
关于SQL Server数据库的一切信息都保存在它的系统表格里.我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格.但是,你可能需要偶尔做一点不同寻常的事,例如数据库所有的触发器.你可 ...
- sql server 复制表从一个数据库到另一个数据库
sql server 复制表从一个数据库到另一个数据库 /*不同服务器数据库之间的数据操作*/ --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQL ...
- SQL Server 创建表
SQL Server 创建表 我们在上一节中完成了数据库的创建,在本节,我们要往这个新的数据库中加入点数据,要想将数据添加到数据库,我们就必须在数据库中添加一个表,接下来来看看具体的操作. 我们的数据 ...
随机推荐
- jQuery切换事件
有html页面内容如下: <body> <h5 id="hh">关于jQuery的介绍</h5> <p id="p1" ...
- Android五天乐(第二天)Activity跳转与传输数据,Fragment
1 Activity的生命周期 activity在生命周期内共同拥有执行.暂停,和停止三种状态.每次发生状态转换时,都有一个Activity方法将状态改变的消息通知给activity.activity ...
- PlayMaker 不支持过渡条件
Unity Animator 自带也支持过渡条件, 我看了下PlayMaker没有这个概念. 最近研究下PlayMaker,图形化编程的确很爽. 但是PlayMaker 始于与给一些策划进行流程设 ...
- Hibernate的批量操作
在实际的操作中,会经常的遇到批量的操作,使用hibernate将 100条记录插入到数据库的一个很自然的做法可能是这样的 Session session = sessionFactory.openSe ...
- struts action不在是一个单例类
在servlet中,servlet类是一个单例,在servlet中的成员变量,将会被所有请求共享,同时也有可能存在线程安全问题,如有一个成员变量num,每次方法后市的num自增 package act ...
- Drupal中的模块载入
什么是模块载入?首先说载入,这里的载入是指require_once.模块载入就是指require_once模块目录中的某个PHP文件. 每个Drupal模块都应该有自己的主文件.模块主文件以模块名开始 ...
- CSS3使用盒模型实现三栏布局
本篇文章由:http://xinpure.com/css3-box-model-to-implement-a-three-column-layout/ 使用 Position 绝对定位也是可以实现三栏 ...
- Atitit.数据操作dsl 的设计 ---linq 方案
Atitit.数据操作dsl 的设计 ---linq 方案 1.1. sql与api方式1 1.2. Linq方案与stream方案的选择,1 1.3. 前缀表达式 vs 中缀表达式1 1.4. 要不 ...
- jks & pfk
keytool and jks keytool Name keytool - Key and Certificate Management Tool Manages a keystore (datab ...
- [Egret]长按截屏分享、分享截屏图片、本地存储
egret 分享有API可以把一个显示对象树渲染成一个位图纹理,我把它赋值给 HTML 的 Image 元素,就实现了图片的显示,在微信中,通过长按图片可以分享出去.当然在其他浏览器可以保存在本地. ...