专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » 数据库字段:替换数据库中所有字段的值--利用CodeSmith生成sql »正文

数据库字段:替换数据库中所有字段的值--利用CodeSmith生成sql

来源: 发布时间:星期四, 2009年2月12日 浏览:119次 评论:0


替换数据库中所有字段值--利用CodeSmith生成sql 代码帖出来给大家看看!

<%--
Name:
Author:
Description:
--%>
<%@ CodeTemplate Language=\"C#\" TargetLanguage=\"Text\" Src=\"\" Inherits=\"\" Debug=\"ture\" Description=\"Template description here.\" %>
<%@ Property Name=\"DataBase\" Type=\"SchemaExplorer.DatabaseSchema\" %>
<%@ Property Name=\"pre_Context\" Type=\".String\" %>
<%@ Property Name=\"edit_Context\" Type=\".String\" %>
<%@ Assembly Name=\"SchemaExplorer\" %>
<%@ Import Namespace=\"SchemaExplorer\" %>
<%@ Assembly Name=\".Data\" %>
<%@ Import Namespace=\".Data\" %>

<%= find%>

<script runat=\"template\">
find
{
  result =\"\";
 foreach(TableSchema table in this.DataBase.Tables)
 {
  
  (table.HasPrimaryKey)
  {
   Keys = [table.PrimaryKey.MemberColumns.Count];
  for( keycount = 0;keycount < table.PrimaryKey.MemberColumns.Count;keycount )
  {
   Keys[keycount] = table.PrimaryKey.MemberColumns[keycount].Name;
  }
  DataTable datatable = table.GetTableData;
  
  foreach(ColumnSchema column in table.Columns)
  {
   foreach(.Data.DataRow row in datatable.Rows)
   {
     str = row[column.Name].;
    
    (str.IndexOf(pre_Context) >= 0)
    {
     result \"update \" + table.Name + \"\\r\\n\" + \" \" +
     column.Name + \"=\" + \"\'\" +
     str..Replace(pre_Context,edit_Context) + \"\'\\r\\n\" + \" where \" +
     \"1=1 \";
     foreach( key in Keys)
     {
      result \"and \" + key + \"= \'\" + row[key]. + \"\'\";
     }
     result \"\\r\\n\" + \"GO\" + \"\\r\\n\";
    }
   }
  }
  }
 }
  result;
}
</script>

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: