zoukankan      html  css  js  c++  java
  • CodeSmith下载与生成存储过程的一个模板

    <%@ CodeTemplate Language="C#" TargetLanguage="T-SQL" Description="生成存储过程" %>
    <%@ Property Name="table" Type="SchemaExplorer.TableSchema" Category="Context"  Description="数据表模式" %>
    <%@ Assembly Name="SchemaExplorer" %>
    <%@ Import Namespace="SchemaExplorer" %>
    <script runat="template">
    public string GetProParam(ColumnSchema column)
     {
     string param = "@" + column.Name + " " + column.NativeType;
     switch (column.DataType)
     {
      case DbType.Decimal:
      {
       param += "(" + column.Precision + ", " + column.Scale + ")";
       break;
      }
      default:
      {
       if (column.Size > 0)
       {
        param += "(" + column.Size + ")";
       }
       break;
       }
      }
     return param;
    }
     </script>
    -- Date: <%= DateTime.Now.ToString() %>
    -- By:<%="秦迷"%>

    ----增加的存储过程----
    Creste Procedure dbo.Insert<%=table.Name%>
    <%for(int i=0;i<table.Columns.Count;i++){%>
    <%= GetProParam(table.Columns[i])%><% if(i<table.Columns.Count-1){%>,<% } %>
    <% } %>
    As
    Insert Into <%=table.Name%>(<%for(int i=0;i<table.NonPrimaryKeyColumns.Count;i++){%><%=table.NonPrimaryKeyColumns[i].Name%><%if(i<table.NonPrimaryKeyColumns.Count-1){%>,<%} } %>)
    Values(<%for(int i=0;i<table.NonPrimaryKeyColumns.Count;i++){%>@<%=table.NonPrimaryKeyColumns[i].Name%><%if(i<table.NonPrimaryKeyColumns.Count-1){%>,<%}}%>)

    ----更新的存储过程----
    Create Procedure dbo.Update<%= table.Name %>
    <% for (int i = 0; i < table.Columns.Count; i++) { %>
    <%= GetProParam(table.Columns[i]) %><% if (i < table.Columns.Count - 1) { %>,<% }} %>
    As
    Update <%= table.Name %> Set
           <% for (int i = 0; i < table.NonPrimaryKeyColumns.Count; i++) { %>
           <%= table.NonPrimaryKeyColumns[i].Name %> = @<%= table.NonPrimaryKeyColumns[i].Name %><% if (i < table.NonPrimaryKeyColumns.Count - 1) { %>,<% } %>
           <% } %>
    Where
     <% for (int i = 0; i < table.PrimaryKey.MemberColumns.Count; i++) { %>
     <% if (i > 0) { %>AND <% } %><%= table.PrimaryKey.MemberColumns[i].Name %>=@<%= table.PrimaryKey.MemberColumns[i].Name %>
     <% } %>

  • http://www.rczjp.cn/download/CodeSmith5.0破解版.rar
查看全文
  • 相关阅读:
    学习——HTML5
    XML解析——SAX解析以及更方便的解析工具(JDOM、DOM4J)
    C#笔记 -----扩展方法
    Socket实现异步通信
    基础套接字的C#网络编程
    线程
    sqlserver 索引
    SQL Server用户自定义函数
    sqlserver函数
    用户控件和自定义控件的区别
  • 原文地址:https://www.cnblogs.com/juan/p/1429470.html
  • Copyright © 2011-2022 走看看