CodeSmith 5.0工具实例篇系列4——根据表生成修改的存储过程,针对MS Sqlserver

运行该模板时,只需要选择单个表即可。
申明:该系列案例已通过CodeSmith Professional 5.0.1 Revision 4983版本的测试,以及生成的存储过程是针对MS Sqlserver。

操作说明 :运行CodeSmith Studio工具 ,创建Blank Template,并将文件名命名为:Update Proc.cst。
输入以下代码:

 

 

ContractedBlock.gifExpandedBlockStart.gifCode
<%@ CodeTemplate Language="C#" TargetLanguage="T-SQL" Src="" Inherits="" Debug="False" LinePragmas="True" Description="根据表生成修改的存储过程"  ResponseEncoding="UTF-8"%>
<%@ Property Name="TableName" Type="SchemaExplorer.TableSchema" Default="" Optional="False" Category="" Description="请选择需要生成存储过程的表" OnChanged="" Editor="" EditorBase="" Serializer="" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>

------------------------------------
--说明:<%=TableName%>表的修改存储过程 
--时间:<%= DateTime.Now %>
--技术支持:时间太快了
--邮箱地址:amwggyy504@163.com
--文章来源:http://amwggyy504.cnblogs.com
------------------------------------
<%
string StrWhere="";//修改条件 
string SetValues="";//修改的值 。
string Param="";//传入的参数。
foreach(ColumnSchema Column in TableName.Columns)
{           
        SetValues
+="["+Column.Name+"]"+"=@"+Column.Name;
    Param
+="@"+Column.Name+" " + Column.NativeType;
    
switch(Column.DataType)
    {
        
case DbType.Decimal:
        {
            Param
+="("+Column.Precision+","+Column.Scale+")";
            
break;
        }
        
case DbType.Int32:
        {                                
            
break;
        }
                
case DbType.DateTime:
                {
                        
break;
                        }
        
default:
        {
            
if(Column.Size>0)
                    Param
+="("+Column.Size+")";                                        
            
break;
        }                        
    }        
    
if(Column.Name!=TableName.Columns[TableName.Columns.Count-1].Name)
    {        
        SetValues
+=",\n";
        Param
+=",\n";
    }
}

for (int i=0;i<TableName.PrimaryKey.MemberColumns.Count; i++)
{
        
if (i>0) { 
                StrWhere
+=" And " ;
                }
                StrWhere
+="["+TableName.PrimaryKey.MemberColumns[i].Name +"]=@"+ TableName.PrimaryKey.MemberColumns[i].Name;
}
%>
Create Proc Proc_
<%=TableName.Name%>_Update
        
<%=Param%>
As
        Update  
<%=TableName.Name%>
               Set 
<%=SetValues %>
                Where   
<%=StrWhere %>

转载于:https://www.cnblogs.com/juan/archive/2009/03/29/1424367.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

差分放大电路单端输出和双端输出区别以及应用(转载)

来自&#xff1a;http://www.elecfans.com/news/dianzi/20171118581901_a.html 什么是差分放大电路 差分放大电路利用电路参数的对称性和负反馈作用&#xff0c;有效地稳定静态工作点&#xff0c;以放大差模信号抑制共模信号为显著特征&#xff0c;广泛应用于直接耦合电路和测量…

Flash 缓存问题的解决(转)

Flash 缓存问题的解决 作者&#xff1a;wangwaizi 时间&#xff1a; 2003-12-27 文档类型&#xff1a;翻译 来自&#xff1a;蓝色理想 原文是Flash支持中心的两篇文章.解决Flash缓存问题 | 解决载入变量缓存问题 使用以下的方法&#xff0c;使SWF文件强制不从浏览器读本地…

matlab可以使用词云分析吗,利用豆瓣短评数据生成词云

在之前的文章中&#xff0c;我们获得了豆瓣爬取的短评内容&#xff0c;汇总到了一个文件中&#xff0c;但是&#xff0c;没有被利用起来的数据是没有意义的。前文提到&#xff0c;有一篇微信推文的关于词云制作的一个实践记录&#xff0c;准备照此试验一下。思路分析读文件利用…

第一阶段冲刺08

1、整个项目的预期任务量&#xff08;任务量所有工作的预期时间&#xff09;和目前已经花的时间&#xff08;所有记录的‘已经花费的时间’&#xff09;&#xff0c;还剩余的时间&#xff08;所有工作的‘剩余时间’&#xff09;。第一阶段工作预期任务&#xff1a;完成整个App…

matlab中腐蚀图像的编写,Matlab实现二值图像的腐蚀算法源代码

标签&#xff1a;1、二值图像的腐蚀原理&#xff1a;我们知道&#xff0c;二值图像就是0和1组成的矩阵&#xff0c;0为黑1为白&#xff0c;腐蚀作用在1上面也就是图像高光白色部分&#xff0c;然后白色部分往外收缩。腐蚀就是类似于黑色军队反攻白色军队&#xff0c;最终把自己…

第五次实训作业继承

1、实现如下类之间的继承关系&#xff0c;并编写Music类来测试这些类。 2、编写一个Java应用程序&#xff0c;该程序包括3个类&#xff1a;Monkey类、People类和主类E。要求&#xff1a; (1) Monkey类中有个构造方法&#xff1a;Monkey (String s)&#xff0c;并且有个public v…

Chrome 过滤广告插件暂替办法

由于Chrome暂无广告过滤插件&#xff0c;我们只能通过其他方法是实现Google Chrome的广告过滤。 这里我们需要用到Privoxy这款软件&#xff01;由于Privoxy是通过本地代理来实现广告过滤的&#xff0c;所以用chrome也通过Privoxy实现广告过滤。 Privoxy是款免费软件&#xff0c…

JavaScript调用WebServices

经过几天研究&#xff0c;终于可以再单个js文件(纯JavaScript&#xff0c;不涉及AJax控件)调用WebServices了。现将调用方法及注意事项分享给大家 1、WebServices文件源码WebService.asmx usingSystem;usingSystem.Collections;usingSystem.Linq;usingSystem.Web;usingSystem.W…

oracle11g和12c安装区别,Oracle下载与Oracle安装图解(Oracle19c,Oracle18c,Oracle12c,Oracle11g)...

oracle下载与oracle安装图解(oracle19c,oracle18c,oracle12c,oracle11g)1、oracle下载(oracle11g)oracle下载方法&#xff0c;请根据以下步骤与图示来下载oracle11g版本&#xff1a;oracle11g下载第1步&#xff1a;打开oracle官方网站oracle11g下载第2步&#xff1a;打开菜单-支…

nodejs+supertest+mocha 接口测试环境搭建

系统接口自动化测试 该框架用于对系统的接口自动化测试&#xff08;nodejssupertestmocha&#xff09;Homebrew 安装&#xff1a; ruby -e "$(curl -fsSL {}https://raw.githubusercontent.com/Homebrew/install/master/install)" 安装nodejs&#xff1a;brew instal…

初探postman

第一种&#xff1a;安装postman 扩展程序 第二种&#xff1a;本地 安装postman 登陆进来postman的界面 发送第一个postman请求 将请求保存到集合 未完&#xff0c;待续... 转载于:https://www.cnblogs.com/smart-girl/p/10865386.html

oracle dw报告,讲解Oracle数据库的全文索引设置步骤

在执行一个SQL之前,首先要分析一下语句的执行计划,然后再按执行计划去执行。分析语句的执行计划的工作是由优化器(Optimizer)来完成的。不同的情况,一条SQL可能有多种执行计划,但在某一时点,一定只有一种执行计划是最优的,花费时间是最少的。相信你一定会用Pl/sql Developer、T…

C# 控制台 模拟时间一秒一秒走动,直到按Esc键,时间静止,退出!

Codeusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading; //延迟函数必备namespace ConsoleApplication2 { class Program { static void Main(string[] args) { DateTime dt n…

[html] 页面上如何显示特殊字符?

[html] 页面上如何显示特殊字符&#xff1f; 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

Python——Django框架——django-simple-captcha(验证码)

一、引用 包 pip install django-simple-captcha 二、将captcha加入setting的 INSTALLED_APPS 三、运行python manager.py migrations 和 python manage.py migrate 四、加入路径 path(captcha/,include(captcha.urls)) 五、引入Form表单 from captcha.fields import CaptchaFi…

结构体+sort方法

昨天做了一道简单但很麻烦的题,我只能想到结构体,并用了STL的sort方法解决了它.不过从中有许多细节问题. 题目: Problem Description Lcy wanted to choose 50 ACMers from m players to join HDU-ACM team. He made n competitions , and now is your task to make the rankli…

更新Linux内核

说明&#xff1a;为了安装Docker&#xff0c;当前虚拟机不满足要求&#xff0c;版本如下&#xff1a; [rootlocalhost116 ~]# uname -r 2.6.32-573.el6.x86_64 [rootlocalhost116 ~]# cat /etc/issue Red Hat Enterprise Linux Server release 6.7 (Santiago) Kernel \r on an …

发布任务PHP源码,Thinkphp5新威客任务平台源码

最新更新日志 修复注册时提示验证码错误的BUG修复Thinkphp框架漏洞兼容linux去除冗余代码和无用文件功能模块 1.手机任务面&#xff0c;一个手机版的任务需要&#xff0c;支持雇主入住发布任务&#xff0c;用户是雇主也是做任务可以自己发任务&#xff0c;做任务。2.雇主发布任…

10个值得关注的优秀CSS框架

大多数做过网页设计的都知道“CSS框架”&#xff0c;而且肯定有很多设计师已经开始在作品中使用CSS框架。 就像其他编程语言一样&#xff0c;CSS也可以把一些重复使用的代码整合起来&#xff0c;这样可以减轻很多的工作量。 恰当地利用CSS框架可以缩短开发时间&#xff0c;不过…

linux服务器 版本 比例,Linux比例近半 服务器操作系统混战开始

一项为期半年的虚拟化调查表明&#xff0c;企业普遍存在多种服务器操作系统混用的情况&#xff1b;受IT投资环境的影响&#xff0c;IT经理们现在更加重视服务器资源利用率。据了解&#xff0c;根据不同应用的特点&#xff0c;大多数企业都在数据中心中同时使用了多种操作系统&a…