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
查看全文
  • 相关阅读:
    mysql-connector-java(6.0以上)的时差问题
    Mysql中的Date转换
    Intellij idea 告警:'while' statement cannot complete without throwing an exception
    JavaScript数组的操作
    Intellij idea 告警:URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
    【网络文摘】2016年里做前端是怎样一种体验
    【JavaScript Demo】回到顶部功能实现
    【JavaScript 插件】实现图片倒影效果
    【读书笔记《Bootstrap 实战》】6.单页营销网站
    【读书笔记《Bootstrap 实战》】5.电子商务网站
  • 原文地址:https://www.cnblogs.com/juan/p/1429470.html
  • Copyright © 2011-2022 走看看