⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phpclasstemplate.txt

📁 几个用CodeSmith的自动生成的C#代码
💻 TXT
字号:
<%-- 
Name:
Author: 
Description: 
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Src="" Inherits="" Debug="False" 
Description="Template description here." %>
<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="Context"  
Description="Table to get the data from."%>

<%@ Property Name="Description" 
	Type="System.String" 
	Optional="False" 
	Category="1. Class Definition" 
	Description="描述" %>

<%@ Property Name="ClassName" 
	Type="System.String" 
	Optional="False" 
	Category="1. Class Definition" 
	Description="类名" %>



<%@ Assembly Name="SchemaExplorer" %>
<%@ Assembly Name="System.Data" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="SchemaExplorer" %>
<%@ Import Namespace="System.Text"%>

<?php
/*
 * <%=Description %>
 */
class <%=ClassName%>
{
	//*****声明表字段*****
	var $TABLE_NAME;
	<% for(int i = 0; i < SourceTable.Columns.Count; i ++) {%>
	var $<%=SourceTable.Columns[i].Name.ToUpper()%>_FD;
	<%}%>
	//*****声明表字段结束*****
	//*****声明成员*****
	<% for(int i = 0; i < SourceTable.Columns.Count; i ++) {%>
	//<%=SourceTable.Columns[i].Description %>
	var $<%=SourceTable.Columns[i].Name%>;
	<%}%>
	//*****声明成员结束*****
	/*
	 * 构造函数
	 */
	function <%=ClassName%>()
	{
		$this->TABLE_NAME = "T<%=ClassName%>";
		<% for(int i = 0; i < SourceTable.Columns.Count; i ++) {%>
		 $this-><%=SourceTable.Columns[i].Name.ToUpper()%>_FD = "<%=SourceTable.Columns[i].Name%>";
		<%}%>
	}
	/*
	 * 设置<%=Description %>数据
	 */
	function setData(<%=GetSetData(SourceTable.Columns)%>)
	{
		<% for(int i = 0; i < SourceTable.Columns.Count; i ++) {
			if(!SourceTable.Columns[i].IsPrimaryKeyMember && SourceTable.Columns[i].Name != "DateEntered"){%>
		$this-><%=SourceTable.Columns[i].Name%> = $<%=MakeFirstLetterToLower(SourceTable.Columns[i].Name)%>;
		<%}}%>
	}
	/*
	 * 得到所有的<%=Description %>
	*/
	function getAll()
	{
		$result = mysql_query("select * from ".$this->TABLE_NAME);
		return $result;
	}
	/*
	 * 插入<%=Description %>
	 */
	function insert()
	{
		$sql = "insert into ".$this->TABLE_NAME
				."("
				<%=GetInsertField(SourceTable.Columns)%>
				.")values("
				<%=GetInsertValue(SourceTable.Columns)%>
				.")";
		mysql_query($sql);
	}
	/*
	 * 根据主键修改<%=Description %>
	 */
	function update(<%=GetPrimaryKeys(SourceTable.Columns)%>)
	{
		$sql = "update ".$this->TABLE_NAME
				." set "
				<%=GetUpdate(SourceTable.Columns)%>
				." where "<%=GetUpdateWhere(SourceTable.Columns)%>;
		mysql_query($sql);
	}
	/*
	 * 根据主键删除<%=Description %>
	 */
	function delete(<%=GetPrimaryKeys(SourceTable.Columns)%>)
	{
		$sql = "delete from ".$this->TABLE_NAME
				." where "<%=GetUpdateWhere(SourceTable.Columns)%>;
		mysql_query($sql);
	}
}
?>
<script runat="template">
// My methods here.
private string GetFieldName(string columnName)
{
	StringBuilder stringBuilder = new StringBuilder(); 
	for(int i=0;i<columnName.Length;i++)
	{
		stringBuilder.Append(columnName[i].ToString().ToUpper());
		if(i < columnName.Length - 1)
		{
			int intTemp = (int)columnName[i + 1]; 
			if(intTemp > 64 && intTemp < 91)
			{
				stringBuilder.Append("_");
			}
		}
	}
	return stringBuilder.ToString();
}

//得到设置数据
private string GetSetData(ColumnSchemaCollection columnSchemaCollection)
{
	StringBuilder stringBuilder = new StringBuilder(); 
	int i = 0;
	foreach(ColumnSchema columnSchema in columnSchemaCollection)
	{
		i ++;
		if(!columnSchema.IsPrimaryKeyMember && columnSchema.Name != "DateEntered"){
		stringBuilder.Append("$"+MakeFirstLetterToLower(columnSchema.Name));
		if(i < columnSchemaCollection.Count)
		{
			stringBuilder.Append(",");	
		}
		}
	}
	string str = stringBuilder.ToString();
	if(str.Substring(str.Length - 1) == ",")
	{
		str = str.Substring(0,str.Length-1);
	}
	return str;
}
//得到插入字段
private string GetInsertField(ColumnSchemaCollection columnSchemaCollection)
{
	StringBuilder stringBuilder = new StringBuilder(); 
	int i = 0;
	bool IsAppend = false; //是否已进行了添加
	foreach(ColumnSchema columnSchema in columnSchemaCollection)
	{
		i ++;
		//string str = ".$this->"+columnSchema.Name.ToUpper+"_FD";
		if(!columnSchema.IsPrimaryKeyMember && columnSchema.Name != "DateEntered"){
			if(IsAppend && i <= columnSchemaCollection.Count)
			{
				stringBuilder.Append("\n\t\t\t\t.\",\"");	
			}
			string str = ".$this->"+columnSchema.Name.ToUpper()+"_FD";
			stringBuilder.Append(str);
			IsAppend = true;
		}
	}
	string str1 =stringBuilder.ToString();
	return str1 ;
}

//得到插入字段值
private string GetInsertValue(ColumnSchemaCollection columnSchemaCollection)
{
	StringBuilder stringBuilder = new StringBuilder(); 
	int i = 0;
	bool IsAppend = false; //是否已进行了添加
	foreach(ColumnSchema columnSchema in columnSchemaCollection)
	{
		i ++;
		if(!columnSchema.IsPrimaryKeyMember && columnSchema.Name != "DateEntered")
		{
			if(IsAppend)
			{
				stringBuilder.Append("\n\t\t\t\t.\",\"");	
			}
			stringBuilder.Append(".$this->"+columnSchema.Name);
			IsAppend = true;
		}
	}
	return stringBuilder.ToString();
}
//得到修改值
private string GetUpdate(ColumnSchemaCollection columnSchemaCollection)
{	
	StringBuilder stringBuilder = new StringBuilder(); 
	int i = 0;
	bool IsAppend = false; //是否已进行了添加
	foreach(ColumnSchema columnSchema in columnSchemaCollection)
	{
		i ++;
		if(!columnSchema.IsPrimaryKeyMember && columnSchema.Name != "DateEntered")
		{
			if(IsAppend)
			{
				stringBuilder.Append(".\"'\"\n\t\t\t\t.\",\"");
			}
			stringBuilder.Append(".$this->"+columnSchema.Name.ToUpper()+"_FD.\"='\".$this->"+columnSchema.Name);
			IsAppend = true;
		}
	}
	stringBuilder.Append(".\"'\"");
	return stringBuilder.ToString();
}
//得到主键列
private string GetPrimaryKeys(SchemaExplorer.ColumnSchemaCollection columnSchemaCollection)
{
	StringBuilder stringBuilder = new StringBuilder();
	int i = 0;
	foreach(ColumnSchema columnSchema in columnSchemaCollection)
	{
		if(columnSchema.IsPrimaryKeyMember)
			stringBuilder.Append("$"+MakeFirstLetterToLower(columnSchema.Name));
		
	}
	string str = stringBuilder.ToString();
	return str.Substring(0,str.Length);
}
//得到修改条件值
private string GetUpdateWhere(SchemaExplorer.ColumnSchemaCollection columnSchemaCollection)
{
	
	StringBuilder stringBuilder = new StringBuilder();
	int i = 0;
	foreach(ColumnSchema columnSchema in columnSchemaCollection)
	{
		if(columnSchema.IsPrimaryKeyMember)
		{
			i++;
			if(i > 1)
			{
				stringBuilder.Append(" and ");	
			}
			stringBuilder.Append(".$this->"+columnSchema.Name.ToUpper()+"_FD.\"=\".$"+MakeFirstLetterToLower(columnSchema.Name));
		}
		
	}
	string str = stringBuilder.ToString();
	return str;
}
//使首字母小写
private string MakeFirstLetterToLower(string str)
{
	StringBuilder stringBuilder = new StringBuilder(); 
	for(int i=0;i<str.Length;i++)
	{
		if(i == 0)
		{
			stringBuilder.Append(str[i].ToString().ToLower());
		}else
		stringBuilder.Append(str[i].ToString());
	}
	return stringBuilder.ToString();
}
//转换数据类型
private string ConvertDataType(ColumnSchema columnSchema)
{	
	switch(columnSchema.DataType)
	{
		case DbType.AnsiString:
			return "string";
		case DbType.Int16:
			return "short";
		case DbType.Int32:
			return "int";
	}
	return Convert.ToString(columnSchema.DataType);
}
</script>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -