📄 php5.0classtemplate.cst
字号:
<%--
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 + -