<%--
Name:dd
Author:binbin
Description: booksir
--%>
<% @ CodeTemplate Language = " C# " TargetLanguage = " Text " Src = "" Inherits = "" Debug = " False " Description = " Template description here. " %>
<% @ Assembly Name = " SchemaExplorer " %>
<% @ Import Namespace = " SchemaExplorer " %>
<% @ Assembly Name = " System.Data " %>
<% @ Import Namespace = " System.Data " %>
<% @ Property Name = " SourceTable " Type = " SchemaExplorer.TableSchema " Category = " Context " Description = " 选择一个表 " %>
<% @ Property Name = " NameSpace " Type = " System.String " Default = " SomeValue " Optional = " True " Category = " Strings " Description = " 程序的命名空间 " %>
/**/ /*
代码自动生成工具 codesmith
Author: lovebanyi 风云
*/
using System;
using System.Web;
using System.Data;
namespace <%= NameSpace %>
{
public class <%=OneToUpper(SourceTable.Name)%>Info
{
<%for(int i=0;i<SourceTable.Columns.Count;i++){%>
private <%=GetCSharpVariableType(SourceTable.Columns[i])%> <%=OneToLower(SourceTable.Columns[i].Name)%>_;
<%}%>
public <%=OneToUpper(SourceTable.Name)%>Info(<%for(int i=0;i<SourceTable.Columns.Count;i++){%><%=GetCSharpVariableType(SourceTable.Columns[i])%> <%=OneToLower(SourceTable.Columns[i].Name)%><%if (i<SourceTable.Columns.Count-1){%>,<%}}%>)
{
<%for(int i=0;i<SourceTable.Columns.Count;i++){%>
this.<%=OneToLower(SourceTable.Columns[i].Name)%>_=<%=OneToLower(SourceTable.Columns[i].Name)%>;
<%}%>
}
<%for(int i=0;i<SourceTable.Columns.Count;i++){%>
public <%=OneToUpper(SourceTable.Columns[i].Name)%>
{
get{return <%=OneToLower(SourceTable.Columns[i].Name)%>_;}
}
<%}%>
}
}
< script runat = " template " >
// 第一个字母大写
private string OneToUpper( string str)
{
return str.Substring(0,1).ToUpper()+str.Substring(1);
}
// 第一个字母小写
private string OneToLower( string str)
{
return str.Substring(0,1).ToLower()+str.Substring(1);
}
public string GetCSharpVariableType(ColumnSchema column)
{
if (column.Name.EndsWith("TypeCode")) return column.Name;
switch (column.DataType)
{
case DbType.AnsiString: return "string";
case DbType.AnsiStringFixedLength: return "string";
case DbType.Binary: return "byte[]";
case DbType.Boolean: return "bool";
case DbType.Byte: return "byte";
case DbType.Currency: return "decimal";
case DbType.Date: return "DateTime";
case DbType.DateTime: return "DateTime";
case DbType.Decimal: return "decimal";
case DbType.Double: return "double";
case DbType.Guid: return "Guid";
case DbType.Int16: return "short";
case DbType.Int32: return "int";
case DbType.Int64: return "long";
case DbType.Object: return "object";
case DbType.SByte: return "sbyte";
case DbType.Single: return "float";
case DbType.String: return "string";
case DbType.StringFixedLength: return "string";
case DbType.Time: return "TimeSpan";
case DbType.UInt16: return "ushort";
case DbType.UInt32: return "uint";
case DbType.UInt64: return "ulong";
case DbType.VarNumeric: return "decimal";
default:
{
return "__UNKNOWN__" + column.NativeType;
}
}
}
</ script >
Name:dd
Author:binbin
Description: booksir
--%>
<% @ CodeTemplate Language = " C# " TargetLanguage = " Text " Src = "" Inherits = "" Debug = " False " Description = " Template description here. " %>
<% @ Assembly Name = " SchemaExplorer " %>
<% @ Import Namespace = " SchemaExplorer " %>
<% @ Assembly Name = " System.Data " %>
<% @ Import Namespace = " System.Data " %>
<% @ Property Name = " SourceTable " Type = " SchemaExplorer.TableSchema " Category = " Context " Description = " 选择一个表 " %>
<% @ Property Name = " NameSpace " Type = " System.String " Default = " SomeValue " Optional = " True " Category = " Strings " Description = " 程序的命名空间 " %>
/**/ /*
代码自动生成工具 codesmith
Author: lovebanyi 风云
*/
using System;
using System.Web;
using System.Data;
namespace <%= NameSpace %>
{
public class <%=OneToUpper(SourceTable.Name)%>Info
{
<%for(int i=0;i<SourceTable.Columns.Count;i++){%>
private <%=GetCSharpVariableType(SourceTable.Columns[i])%> <%=OneToLower(SourceTable.Columns[i].Name)%>_;
<%}%>
public <%=OneToUpper(SourceTable.Name)%>Info(<%for(int i=0;i<SourceTable.Columns.Count;i++){%><%=GetCSharpVariableType(SourceTable.Columns[i])%> <%=OneToLower(SourceTable.Columns[i].Name)%><%if (i<SourceTable.Columns.Count-1){%>,<%}}%>)
{
<%for(int i=0;i<SourceTable.Columns.Count;i++){%>
this.<%=OneToLower(SourceTable.Columns[i].Name)%>_=<%=OneToLower(SourceTable.Columns[i].Name)%>;
<%}%>
}
<%for(int i=0;i<SourceTable.Columns.Count;i++){%>
public <%=OneToUpper(SourceTable.Columns[i].Name)%>
{
get{return <%=OneToLower(SourceTable.Columns[i].Name)%>_;}
}
<%}%>
}
}
< script runat = " template " >
// 第一个字母大写
private string OneToUpper( string str)
{
return str.Substring(0,1).ToUpper()+str.Substring(1);
}
// 第一个字母小写
private string OneToLower( string str)
{
return str.Substring(0,1).ToLower()+str.Substring(1);
}
public string GetCSharpVariableType(ColumnSchema column)
{
if (column.Name.EndsWith("TypeCode")) return column.Name;
switch (column.DataType)
{
case DbType.AnsiString: return "string";
case DbType.AnsiStringFixedLength: return "string";
case DbType.Binary: return "byte[]";
case DbType.Boolean: return "bool";
case DbType.Byte: return "byte";
case DbType.Currency: return "decimal";
case DbType.Date: return "DateTime";
case DbType.DateTime: return "DateTime";
case DbType.Decimal: return "decimal";
case DbType.Double: return "double";
case DbType.Guid: return "Guid";
case DbType.Int16: return "short";
case DbType.Int32: return "int";
case DbType.Int64: return "long";
case DbType.Object: return "object";
case DbType.SByte: return "sbyte";
case DbType.Single: return "float";
case DbType.String: return "string";
case DbType.StringFixedLength: return "string";
case DbType.Time: return "TimeSpan";
case DbType.UInt16: return "ushort";
case DbType.UInt32: return "uint";
case DbType.UInt64: return "ulong";
case DbType.VarNumeric: return "decimal";
default:
{
return "__UNKNOWN__" + column.NativeType;
}
}
}
</ script >
<%--
Name:dd
Author:binbin
Description: booksir
默认的数据表必须是ID为组件开头
在使用的过程中必须先添加数据库
--%>
<% @ CodeTemplate Language = " C# " TargetLanguage = " Text " Src = "" Inherits = "" Debug = " False " Description = " Template description here. " %>
<% @ Assembly Name = " SchemaExplorer " %>
<% @ Import Namespace = " SchemaExplorer " %>
<% @ Assembly Name = " System.Data " %>
<% @ Import Namespace = " System.Data " %>
<% @ Property Name = " SourceTable " Type = " SchemaExplorer.TableSchema " Category = " Context " Description = " 选择一个表 " %>
<% @ Property Name = " NameSpace " Type = " System.String " Default = " SomeValue " Optional = " True " Category = " Strings " Description = " 程序的命名空间 " %>
/**/ /*
代码自动生成工具 codesmith
Author: lovebanyi 风云
*/
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
namespace <%= NameSpace %>
{
public class <%=OneToUpper(SourceTable.Name)%>
{
public void Add(<%=OneToUpper(SourceTable.Name)%>Info <%=OneToLower(SourceTable.Name)%>Info)
{
string sql="insert into <%=SourceTable.Name%>(<%for (int i=1;i<SourceTable.Columns.Count;i++){%>[<%=SourceTable.Columns[i].Name%>]<%if (i<SourceTable.Columns.Count-1){%>,<%}%><%}%>) values(<%for (int i=1;i<SourceTable.Columns.Count;i++){%>@<%=SourceTable.Columns[i].Name%><%if (i<SourceTable.Columns.Count-1){%>,<%}%><%}%>)";
SqlParameter parms=GetParms();
SetParms(parms,<%=OneToLower(SourceTable.Name)%>Info);
SQLHelper.ExecuteNonQuery(SQLHelper.CONN_STRING,CommandType.Text,sql,parms);
}
public void Update(<%=OneToUpper(SourceTable.Name)%>Info <%=OneToLower(SourceTable.Name)%>Info,int id)
{
string sql="update [<%=SourceTable.Name%>] set <%for (int i=1;i<SourceTable.Columns.Count;i++){%>[<%=SourceTable.Columns[i].Name%>]=@<%=SourceTable.Columns[i].Name%><%if (i<SourceTable.Columns.Count-1){%>,<%}%><%}%> where id="+id;
SqlParameter parms=GetParms();
SetParms(parms,<%=OneToLower(SourceTable.Name)%>Info);
SQLHelper.ExecuteNonQuery(SQLHelper.CONN_STRING,CommandType.Text,sql,parms);
}
public bool Del(int id)
{
string sql="delect from [<%=SourceTable.Name%>] where id="+id;
SqlParameter parms=null;
if (SQLHelper.ExecuteNonQuery(SQLHelper.CONN_STRING,CommandType.Text,sql,parms)==1)
{
return true;
}
else
{
return false;
}
}
public <%=OneToUpper(SourceTable.Name)%>Info Get(int id)
{
string sql="select <%for (int i=1;i<SourceTable.Columns.Count;i++){%>[<%=SourceTable.Columns[i].Name%>]<%if (i<SourceTable.Columns.Count-1){%>,<%}%><%}%> from [<%=SourceTable.Name%>] where id="+id;
SqlDataReader dr = SQLHelper.ExecuteReader(SQLHelper.CONN_STRING,CommandType.Text,sql,parms);
if (dr.Read())
{
<%=OneToUpper(SourceTable.Name)%>Info <%=OneToLower(SourceTable.Name)%>Info = new <%=OneToUpper(SourceTable.Name)%>Info(<%for (int i=1;i<SourceTable.Columns.Count;i++){%>dr.Get<%=SourceTable.Columns[i].SystemType%>(<%=i-1%>)<%if (i<SourceTable.Columns.Count-1){%>,<%}%><%}%>);
return <%=OneToLower(SourceTable.Name)%>Info;
}
throw new Exception("对不起不存在这条记录");
}
public DataSet GetList()
{
//这边还用这个方便,以后再考虑生成collection
string sql="select * from [<%=SourceTable.Name%>]";
SqlParameter[] parms =null;
using(SqlConnection conn = new SqlConnection(SQLHelper.CONN_STRING))
{
conn.Open();
return SQLHelper.ExcuteDataSet(conn,CommandType.Text,sql,parms);
}
}
public DataSet GetList(int pageSetup,int toPage,ref int itemCount)
{
SqlParameter[] parms=null;
string sql="select count(*) from [<%=SourceTable.Name%>]";
SqlDataReader dr = SQLHelper.ExecuteReader(SQLHelper.CONN_STRING,CommandType.Text,sql,parms);
if (dr.Read())
{
itemCount=dr.GetInt32(0);
}
sql="<%=SourceTable.Name%>_Page";
parms = new SqlParameter[]{new SqlParameter("@pageSetup",SqlDbType.Int),new SqlParameter("@toPage",SqlDbType.Int)};
parms[0].Value=pageSetup;
parms[1].Value=toPage;
using (SqlConnection conn = new SqlConnection(SQLHelper.CONN_STRING))
{
conn.Open();
return SQLHelper.ExcuteDataSet(conn,CommandType.StoredProcedure,sql,parms);
}
/**//* 复带存储过程的代码
CREATE PROCEDURE <%=SourceTable.Name%>_Page @pageSetup int,@topage int AS
declare @SQLStr nvarchar(4000)
set @SQLStr='SELECT Top '+cast(@pageSetup as varchar)+' * FROM [<%=SourceTable.Name%>] WHERE id NOT IN (SELECT TOP '+cast(@pageSetup*@topage as varchar)+' id from [<%=SourceTable.Name%>] )'
EXECUTE sp_executesql @SQLStr
*/
}
private SqlParameter[] GetParms()
{
SqlParameter[] parms=SQLHelper.GetCachedParameters("<%=OneToUpper(SourceTable.Name)%>_Cache");
if (parms==null)
{
parms = new SqlParameter[]{
<%for (int i=1;i<SourceTable.Columns.Count;i++){%>
new SqlParameter("@<%=SourceTable.Columns[i].Name%>",SqlDbType.<%=GetSqlParms(SourceTable.Columns[i])%>)<%if (i<SourceTable.Columns.Count-1){%>,<%}%>
<%}%>
};
SQLHelper.CacheParameters("<%=OneToUpper(SourceTable.Name)%>_Cache",parms);
}
return parms
}
private void SetParms(SqlParameter[] parms,<%=OneToUpper(SourceTable.Name)%>Info <%=OneToLower(SourceTable.Name)%>Info)
{
<%for (int i=1;i<SourceTable.Columns.Count;i++){%>
parms[<%=i.ToString()%>].Value=<%=OneToLower(SourceTable.Name)%>Info.<%=OneToUpper(SourceTable.Columns[i].Name)%>
<%}%>
}
}
}
< script runat = " template " >
// 第一个字母大写
private string OneToUpper( string str)
{
return str.Substring(0,1).ToUpper()+str.Substring(1);
}
// 第一个字母小写
private string OneToLower( string str)
{
return str.Substring(0,1).ToLower()+str.Substring(1);
}
private string GetSqlParms(ColumnSchema column)
{
switch(column.NativeType)
{
case "varchar": return "VarChar,"+column.Size.ToString();
case "int": return "Int";
case "datetime": return "DateTime";
case "money": return "Money";
case "text": return "Text";
default :
{
return "";
}
}
}
public string GetCSharpVariableType(ColumnSchema column)
{
if (column.Name.EndsWith("TypeCode")) return column.Name;
switch (column.DataType)
{
case DbType.AnsiString: return "string";
case DbType.AnsiStringFixedLength: return "string";
case DbType.Binary: return "byte[]";
case DbType.Boolean: return "bool";
case DbType.Byte: return "byte";
case DbType.Currency: return "decimal";
case DbType.Date: return "DateTime";
case DbType.DateTime: return "DateTime";
case DbType.Decimal: return "decimal";
case DbType.Double: return "double";
case DbType.Guid: return "Guid";
case DbType.Int16: return "short";
case DbType.Int32: return "int";
case DbType.Int64: return "long";
case DbType.Object: return "object";
case DbType.SByte: return "sbyte";
case DbType.Single: return "float";
case DbType.String: return "string";
case DbType.StringFixedLength: return "string";
case DbType.Time: return "TimeSpan";
case DbType.UInt16: return "ushort";
case DbType.UInt32: return "uint";
case DbType.UInt64: return "ulong";
case DbType.VarNumeric: return "decimal";
default:
{
return "__UNKNOWN__" + column.NativeType;
}
}
}
</ script >
Name:dd
Author:binbin
Description: booksir
默认的数据表必须是ID为组件开头
在使用的过程中必须先添加数据库
--%>
<% @ CodeTemplate Language = " C# " TargetLanguage = " Text " Src = "" Inherits = "" Debug = " False " Description = " Template description here. " %>
<% @ Assembly Name = " SchemaExplorer " %>
<% @ Import Namespace = " SchemaExplorer " %>
<% @ Assembly Name = " System.Data " %>
<% @ Import Namespace = " System.Data " %>
<% @ Property Name = " SourceTable " Type = " SchemaExplorer.TableSchema " Category = " Context " Description = " 选择一个表 " %>
<% @ Property Name = " NameSpace " Type = " System.String " Default = " SomeValue " Optional = " True " Category = " Strings " Description = " 程序的命名空间 " %>
/**/ /*
代码自动生成工具 codesmith
Author: lovebanyi 风云
*/
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
namespace <%= NameSpace %>
{
public class <%=OneToUpper(SourceTable.Name)%>
{
public void Add(<%=OneToUpper(SourceTable.Name)%>Info <%=OneToLower(SourceTable.Name)%>Info)
{
string sql="insert into <%=SourceTable.Name%>(<%for (int i=1;i<SourceTable.Columns.Count;i++){%>[<%=SourceTable.Columns[i].Name%>]<%if (i<SourceTable.Columns.Count-1){%>,<%}%><%}%>) values(<%for (int i=1;i<SourceTable.Columns.Count;i++){%>@<%=SourceTable.Columns[i].Name%><%if (i<SourceTable.Columns.Count-1){%>,<%}%><%}%>)";
SqlParameter parms=GetParms();
SetParms(parms,<%=OneToLower(SourceTable.Name)%>Info);
SQLHelper.ExecuteNonQuery(SQLHelper.CONN_STRING,CommandType.Text,sql,parms);
}
public void Update(<%=OneToUpper(SourceTable.Name)%>Info <%=OneToLower(SourceTable.Name)%>Info,int id)
{
string sql="update [<%=SourceTable.Name%>] set <%for (int i=1;i<SourceTable.Columns.Count;i++){%>[<%=SourceTable.Columns[i].Name%>]=@<%=SourceTable.Columns[i].Name%><%if (i<SourceTable.Columns.Count-1){%>,<%}%><%}%> where id="+id;
SqlParameter parms=GetParms();
SetParms(parms,<%=OneToLower(SourceTable.Name)%>Info);
SQLHelper.ExecuteNonQuery(SQLHelper.CONN_STRING,CommandType.Text,sql,parms);
}
public bool Del(int id)
{
string sql="delect from [<%=SourceTable.Name%>] where id="+id;
SqlParameter parms=null;
if (SQLHelper.ExecuteNonQuery(SQLHelper.CONN_STRING,CommandType.Text,sql,parms)==1)
{
return true;
}
else
{
return false;
}
}
public <%=OneToUpper(SourceTable.Name)%>Info Get(int id)
{
string sql="select <%for (int i=1;i<SourceTable.Columns.Count;i++){%>[<%=SourceTable.Columns[i].Name%>]<%if (i<SourceTable.Columns.Count-1){%>,<%}%><%}%> from [<%=SourceTable.Name%>] where id="+id;
SqlDataReader dr = SQLHelper.ExecuteReader(SQLHelper.CONN_STRING,CommandType.Text,sql,parms);
if (dr.Read())
{
<%=OneToUpper(SourceTable.Name)%>Info <%=OneToLower(SourceTable.Name)%>Info = new <%=OneToUpper(SourceTable.Name)%>Info(<%for (int i=1;i<SourceTable.Columns.Count;i++){%>dr.Get<%=SourceTable.Columns[i].SystemType%>(<%=i-1%>)<%if (i<SourceTable.Columns.Count-1){%>,<%}%><%}%>);
return <%=OneToLower(SourceTable.Name)%>Info;
}
throw new Exception("对不起不存在这条记录");
}
public DataSet GetList()
{
//这边还用这个方便,以后再考虑生成collection
string sql="select * from [<%=SourceTable.Name%>]";
SqlParameter[] parms =null;
using(SqlConnection conn = new SqlConnection(SQLHelper.CONN_STRING))
{
conn.Open();
return SQLHelper.ExcuteDataSet(conn,CommandType.Text,sql,parms);
}
}
public DataSet GetList(int pageSetup,int toPage,ref int itemCount)
{
SqlParameter[] parms=null;
string sql="select count(*) from [<%=SourceTable.Name%>]";
SqlDataReader dr = SQLHelper.ExecuteReader(SQLHelper.CONN_STRING,CommandType.Text,sql,parms);
if (dr.Read())
{
itemCount=dr.GetInt32(0);
}
sql="<%=SourceTable.Name%>_Page";
parms = new SqlParameter[]{new SqlParameter("@pageSetup",SqlDbType.Int),new SqlParameter("@toPage",SqlDbType.Int)};
parms[0].Value=pageSetup;
parms[1].Value=toPage;
using (SqlConnection conn = new SqlConnection(SQLHelper.CONN_STRING))
{
conn.Open();
return SQLHelper.ExcuteDataSet(conn,CommandType.StoredProcedure,sql,parms);
}
/**//* 复带存储过程的代码
CREATE PROCEDURE <%=SourceTable.Name%>_Page @pageSetup int,@topage int AS
declare @SQLStr nvarchar(4000)
set @SQLStr='SELECT Top '+cast(@pageSetup as varchar)+' * FROM [<%=SourceTable.Name%>] WHERE id NOT IN (SELECT TOP '+cast(@pageSetup*@topage as varchar)+' id from [<%=SourceTable.Name%>] )'
EXECUTE sp_executesql @SQLStr
*/
}
private SqlParameter[] GetParms()
{
SqlParameter[] parms=SQLHelper.GetCachedParameters("<%=OneToUpper(SourceTable.Name)%>_Cache");
if (parms==null)
{
parms = new SqlParameter[]{
<%for (int i=1;i<SourceTable.Columns.Count;i++){%>
new SqlParameter("@<%=SourceTable.Columns[i].Name%>",SqlDbType.<%=GetSqlParms(SourceTable.Columns[i])%>)<%if (i<SourceTable.Columns.Count-1){%>,<%}%>
<%}%>
};
SQLHelper.CacheParameters("<%=OneToUpper(SourceTable.Name)%>_Cache",parms);
}
return parms
}
private void SetParms(SqlParameter[] parms,<%=OneToUpper(SourceTable.Name)%>Info <%=OneToLower(SourceTable.Name)%>Info)
{
<%for (int i=1;i<SourceTable.Columns.Count;i++){%>
parms[<%=i.ToString()%>].Value=<%=OneToLower(SourceTable.Name)%>Info.<%=OneToUpper(SourceTable.Columns[i].Name)%>
<%}%>
}
}
}
< script runat = " template " >
// 第一个字母大写
private string OneToUpper( string str)
{
return str.Substring(0,1).ToUpper()+str.Substring(1);
}
// 第一个字母小写
private string OneToLower( string str)
{
return str.Substring(0,1).ToLower()+str.Substring(1);
}
private string GetSqlParms(ColumnSchema column)
{
switch(column.NativeType)
{
case "varchar": return "VarChar,"+column.Size.ToString();
case "int": return "Int";
case "datetime": return "DateTime";
case "money": return "Money";
case "text": return "Text";
default :
{
return "";
}
}
}
public string GetCSharpVariableType(ColumnSchema column)
{
if (column.Name.EndsWith("TypeCode")) return column.Name;
switch (column.DataType)
{
case DbType.AnsiString: return "string";
case DbType.AnsiStringFixedLength: return "string";
case DbType.Binary: return "byte[]";
case DbType.Boolean: return "bool";
case DbType.Byte: return "byte";
case DbType.Currency: return "decimal";
case DbType.Date: return "DateTime";
case DbType.DateTime: return "DateTime";
case DbType.Decimal: return "decimal";
case DbType.Double: return "double";
case DbType.Guid: return "Guid";
case DbType.Int16: return "short";
case DbType.Int32: return "int";
case DbType.Int64: return "long";
case DbType.Object: return "object";
case DbType.SByte: return "sbyte";
case DbType.Single: return "float";
case DbType.String: return "string";
case DbType.StringFixedLength: return "string";
case DbType.Time: return "TimeSpan";
case DbType.UInt16: return "ushort";
case DbType.UInt32: return "uint";
case DbType.UInt64: return "ulong";
case DbType.VarNumeric: return "decimal";
default:
{
return "__UNKNOWN__" + column.NativeType;
}
}
}
</ script >