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

📄 php5.0classtemplate.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%>
{
	//*****声明表字段*****
	const $TABLE_NAME = "T<%=ClassName%>";
	<% for(int i = 0; i < SourceTable.Columns.Count; i ++) {%>
	const <%=SourceTable.Columns[i].Name.ToUpper()%>_FD = "<%=SourceTable.Columns[i].Name%>";
	<%}%>
	//*****声明表字段结束*****
	//*****声明成员*****
	<% for(int i = 0; i < SourceTable.Columns.Count; i ++) {%>
	//<%=SourceTable.Columns[i].Description %>
	private $<%=MakeFirstLetterToLower(SourceTable.Columns[i].Name)%>;
	<%}%>
	//*****声明成员结束*****
	/*
	 * 构造函数
	 */
	function __construct()
	{
		parent::__construct ();
	}
	/*
	 * 设置<%=Description %>数据
	 */
	public function setData(<%=GetSetData(SourceTable.Columns)%>)
	{
		<% for(int i = 0; i < SourceTable.Columns.Count; i ++) {%>
		$this-><%=SourceTable.Columns[i].Name%> = $<%=MakeFirstLetterToLower(SourceTable.Columns[i].Name)%>;
		<%}%>
	}
	/*
	 * 得到所有的<%=Description %>
	*/
	public function getAll()
	{
		$result = mysql_query("select * from ".$this->TABLE_NAME);
		return $result;
	}
	/*
	 * 插入<%=Description %>
	 */
	public function insert()
	{
		$sql = "insert into ".$this->TABLE_NAME
				."("
				<%=GetInsertField(SourceTable.Columns)%>
				.")values("
				<%=GetInsertValue(SourceTable.Columns)%>
				.")";
		mysql_query($sql);
	}
	/*
	 * 根据主键修改<%=Description %>
	 */
	public function update(<%=GetPrimaryKeys(SourceTable.Columns)%>)
	{
		$sql = "update ".$this->TABLE_NAME
				." set "
				<%=GetUpdate(SourceTable.Columns)%>
				." where "<%=GetUpdateWhere(SourceTable.Columns)%>;
		mysql_query($sql);
	}
	/*
	 * 根据主键删除<%=Description %>
	 */
	public function delete(<%=GetPrimaryKeys(SourceTable.Columns)%>)
	{
		$sql = "delete from ".$this->TABLE_NAME
				." where "<%=GetUpdateWhere(SourceTable.Columns)%>;
		mysql_query($sql);
	}
	function __destruct() {
	
	}
}
?>
<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 ++;
		stringBuilder.Append("$"+MakeFirstLetterToLower(columnSchema.Name));
		if(i < columnSchemaCollection.Count)
		{
			stringBuilder.Append(",");	
		}
	}
	return stringBuilder.ToString();
}
//得到插入字段
private string GetInsertField(ColumnSchemaCollection columnSchemaCollection)
{
	StringBuilder stringBuilder = new StringBuilder(); 
	int i = 0;
	foreach(ColumnSchema columnSchema in columnSchemaCollection)
	{
		i ++;
		//string str = ".$this->"+columnSchema.Name.ToUpper+"_FD";
		string str = ".$this->"+columnSchema.Name.ToUpper()+"_FD";
		stringBuilder.Append(str);
		if(i < columnSchemaCollection.Count)
		{
			stringBuilder.Append("\n\t\t\t\t.\",\"");	
		}
	}
	return stringBuilder.ToString();
}

//得到插入字段值
private string GetInsertValue(ColumnSchemaCollection columnSchemaCollection)
{
	StringBuilder stringBuilder = new StringBuilder(); 
	int i = 0;
	foreach(ColumnSchema columnSchema in columnSchemaCollection)
	{
		i ++;
		stringBuilder.Append(".$this->"+columnSchema.Name);
		if(i < columnSchemaCollection.Count)
		{
			stringBuilder.Append("\n\t\t\t\t.\",\"");	
		}
	}
	return stringBuilder.ToString();
}
//得到修改值
private string GetUpdate(ColumnSchemaCollection columnSchemaCollection)
{	
	StringBuilder stringBuilder = new StringBuilder(); 
	int i = 0;
	foreach(ColumnSchema columnSchema in columnSchemaCollection)
	{
		i ++;
		stringBuilder.Append(".$this->"+columnSchema.Name.ToUpper()+"_FD.\"='\".$this->"+columnSchema.Name);
		if(i <= columnSchemaCollection.Count)
		{
			stringBuilder.Append(".\"'\"");	
		}
		if(i < columnSchemaCollection.Count)
		{
			stringBuilder.Append("\n\t\t\t\t.\",\"");
		}
	}
	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 + -