codesmith 实体类,数据操作类
来源:互联网 发布:淘宝怎么加入一淘条件 编辑:程序博客网 时间:2024/05/01 14:41
codesmith 实体类,数据操作类
<%--
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>
- codesmith 实体类,数据操作类
- 使用CodeSmith生成数据实体类
- CodeSmith生成数据表实体类
- CodeSmith生成实体类模板
- CodeSmith(4):创建实体类实例
- CodeSmith生成数据库视图实体类
- codesmith 自动生成实体类的模板
- CodeSmith模板(生成实体类)
- 二.codesmith 生成 hibernate 中的实体类
- 利用CodeSmith将数据表生成实体类以及po的操作
- CodeSmith自动生成业务实体类的模板代码
- 用CodeSmith生成数据库实体类的代码
- CodeSmith自动生成实体类文件(数据库中所有表的实体类)!
- CodeSmith模板(数据访问类)
- PDF.NET数据开发框架实体类操作实例
- Hibernate实体类的操作
- hibernate--8.实体类操作
- 数据表中的数据实体类
- 'NULL' undeclared错误
- 解析.Net框架下的XML编程技术
- BIND9详解之日志
- ASCⅡ
- c# Calendar 日历控件 基本使用说明
- codesmith 实体类,数据操作类
- Java Annotation手册
- 3-(E-teller)使用SQL语句
- 开发出具有良好的视觉效果的应用程序
- Osip2和eXosip协议栈的简析(转载)
- Windows 启动方式总结归纳&HIPS注册表防护关键位置
- sqlserver 海量数据导入的最快方法
- sql----用if...then...elseif...,,,2.用case...when...then...
- Visual C++.NET编程(1)