EasyCode.Net代码生成器使用心得
前段時間購買了一個EasyCode的正式使用許可 ?看他的界面設計的不錯 就用他生成了一個項目(目地是想把以前我自己的一個程序的界面給更換下 人家有專業的UI設計我自己設計出來的肯定沒有人家專業UI設計師弄出來的好看) ,項目生成完了 發現還不能直接更換界面他的是sql的數據庫我以前的項目用的是sqlite的數據庫因此需要對數據庫連接進行下修改,批量替換了下SqlConnection和SqlParameter、SqlDataReader。 重新運行了下程序可以使用!
接下來就剩下對業務的處理了(EasyCode最大的優點就是省去了繁瑣的數據添加刪除修改還有最煩人的界面設計!) ?現在我就可以專心處理業務數據還有功能的實現了
整個界面更換下來不到40分鐘就好了(因為是個小項目所以東西也就少了很多)
?
我個人覺得EasyCode是個很不錯的工具既省去了繁瑣的數據添加、修改、刪除等操作而且界面也省的自己設計了 ?還有就是EasyCode生成的代碼非常的規范而且根據自己填寫的說明他會對生成的每個方法都添加相應的注釋 修改代碼的時候也不費勁(我個人寫代碼幾乎是不寫任何注釋的 ?程序寫完以后在修改的時候發現自己寫的代碼都不知道是干什么用的) 下邊把我用EasyCode生成的代碼跟大家分享下
通用數據訪問 using System;using System.Text;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Collections.Generic;
using LML.ManageMoney.COL;
using LML.ManageMoney.SFL;
namespace LML.ManageMoney.DAL.Common
{
/// <summary>
/// 對象名稱:經濟管理通用數據訪問父類(數據訪問層)
/// 對象說明:提供“經濟管理類(業務邏輯層)”對SqlServer,Oracle,OleDb等數據庫進行訪問的相關方法,以及部分通用方法供其子類進行調用。
/// 調用說明:本類為抽象類無法進行實例化,通常可以使用“經濟管理類(業務邏輯層)”中的DataAccess屬性來調用本類中所定義數據訪問方法。
/// 作者姓名:李孟良
/// 編寫日期:2012-3-16 20:59:49
/// </summary>
public abstract class AccountsDAL
{
#region EasyCode所生成的默認代碼
//﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉
// 此區域的代碼為EasyCode所自動生成,提供該類數據訪問的基本方法。請不要直接修改該區域中的任何代碼,
// 或在該區域中添加任何自定義代碼,當該類發生變更時,您可以隨時使用EasyCode重新生成覆蓋其中的代碼。
//﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍
//警告:僅用于緩存“經濟管理(AccountsDAL)數據訪問類”的單件實例,永遠不要直接訪問該變量。
private static AccountsDAL accountsDAL;
/// <summary>
/// 獲取“經濟管理(AccountsDAL)數據訪問類”的實例,該屬性通過判斷應用程序配置文件中數據庫類型“DataBaseType”的值,
/// 創建一個用于對指定類型數據庫進行訪問的“經濟管理(AccountsDAL)數據訪問類”(SqlServer/Oracle/OleDb)”單件實例。
/// </summary>
public static AccountsDAL Instance
{
get
{
if (accountsDAL == null)
{
switch (System.Configuration.ConfigurationManager.AppSettings["DataBaseType"])
{
case "SqlServer":
accountsDAL = new SqlServer.AccountsDAL();
break;
default:
accountsDAL = new SqlServer.AccountsDAL();
break;
}
}
return accountsDAL;
}
}
/// <summary>
/// 從DataReader中讀取數據,并為Accounts對象的所有屬性賦值。該方法主要由該類的子類調用。
/// </summary>
/// <param name="sqlDataReader">IDataReader</param>
/// <param name="accounts">經濟管理(Accounts)實例對象</param>
protected void ReadAccountsAllData(IDataReader dataReader, Accounts accounts)
{
// 編號ID
if (dataReader["ID"] != DBNull.Value)
accounts.ID = Convert.ToInt32(dataReader["ID"]);
// 時間
if (dataReader["DateTime"] != DBNull.Value)
accounts.DateTime = Convert.ToDateTime(dataReader["DateTime"]);
// 經手人
if (dataReader["HandledBy"] != DBNull.Value)
accounts.HandledBy = Convert.ToString(dataReader["HandledBy"]);
// 收入
if (dataReader["IncomeMoney"] != DBNull.Value)
accounts.IncomeMoney = Convert.ToString(dataReader["IncomeMoney"]);
// 支出
if (dataReader["ExpensesMoney"] != DBNull.Value)
accounts.ExpensesMoney = Convert.ToString(dataReader["ExpensesMoney"]);
// 分類ID
if (dataReader["CategoryID"] != DBNull.Value)
accounts.CategoryID = Convert.ToInt32(dataReader["CategoryID"]);
// 說明
if (dataReader["Description"] != DBNull.Value)
accounts.Description = Convert.ToString(dataReader["Description"]);
// 備注
if (dataReader["Remark"] != DBNull.Value)
accounts.Remark = Convert.ToString(dataReader["Remark"]);
// 拼音
if (dataReader["PY"] != DBNull.Value)
accounts.PY = Convert.ToString(dataReader["PY"]);
// 用戶Id
if (dataReader["UserId"] != DBNull.Value)
accounts.UserId = dataReader["UserId"].ToString();
}
/// <summary>
/// 從DataReader中讀取數據,并為Accounts對象需要進行顯示的屬性賦值。該方法主要由該類的子類調用。
/// </summary>
/// <param name="sqlDataReader">IDataReader</param>
/// <param name="accounts">經濟管理(Accounts)實例對象</param>
protected void ReadAccountsPageData(IDataReader dataReader, Accounts accounts, int rowID)
{
// 編號ID
if (dataReader["ID"] != DBNull.Value)
accounts.ID = Convert.ToInt32(dataReader["ID"]);
// 時間
if (dataReader["DateTime"] != DBNull.Value)
accounts.DateTime = Convert.ToDateTime(dataReader["DateTime"]);
// 經手人
if (dataReader["HandledBy"] != DBNull.Value)
accounts.HandledBy = Convert.ToString(dataReader["HandledBy"]);
// 收入
if (dataReader["IncomeMoney"] != DBNull.Value)
accounts.IncomeMoney = float.Parse(dataReader["IncomeMoney"].ToString()).ToString("F2");
// 支出
if (dataReader["ExpensesMoney"] != DBNull.Value)
accounts.ExpensesMoney = float.Parse(dataReader["ExpensesMoney"].ToString()).ToString("F2");
// 說明
if (dataReader["Description"] != DBNull.Value)
accounts.Description = Convert.ToString(dataReader["Description"]);
// 備注
if (dataReader["Remark"] != DBNull.Value)
accounts.Remark = Convert.ToString(dataReader["Remark"]);
accounts.RowID = rowID;
}
//﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉
// 公共數據訪問類抽象方法定義,在SqlServer/Oracle/OleDb子類中實現具體方法。
//﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍
/// <summary>
/// 將經濟管理(Accounts)數據,采用INSERT操作插入到數據庫中,并返回受影響的行數。
/// </summary>
/// <param name="accounts">經濟管理(Accounts)實例對象</param>
public abstract int Insert(Accounts accounts);
/// <summary>
/// 將經濟管理(Accounts)數據,根據主鍵“編號ID(ID)”采用UPDATE操作更新到數據庫中,并返回受影響的行數。
/// </summary>
/// <param name="accounts">經濟管理(Accounts)實例對象</param>
public abstract int Update(Accounts accounts);
/// <summary>
/// 根據經濟管理(Accounts)的主鍵“編號ID(ID)”采用DELETE操作從數據庫中刪除相關記錄,并返回受影響的行數。
/// </summary>
/// <param name="iD">經濟管理(Accounts)的主鍵“編號ID(ID)”</param>
public abstract int Delete(int iD);
/// <summary>
/// 根據經濟管理(Accounts)的主鍵“編號ID(ID)”從數據庫中獲取經濟管理(Accounts)的實例。
/// 成功從數據庫中取得記錄返回新經濟管理(Accounts)的實例“,沒有取到記錄返回null值。
/// </summary>
/// <param name="iD">經濟管理(Accounts)的主鍵“編號ID(ID)”</param>
public abstract Accounts GetDataByID(int iD);
/// <summary>
/// 按條件搜索
/// </summary>
/// <param name="StartTime">開始時間</param>
/// <param name="EndTime">結束時間</param>
/// <param name="jsr">經手人</param>
/// <param name="cateId">分類ID</param>
/// <returns></returns>
public abstract PageData GetAllAccounts(int pagesize, int curPage, string StartTime, string EndTime, string jsr, string cateId);
/// <summary>
/// 從數據庫中讀取并返回所有經濟管理(Accounts)List列表。
/// </summary>
public abstract List<Accounts> GetAllList();
/// <summary>
/// 根據每頁記錄數及所要獲取的頁數,從數據庫中讀取并返回經過分頁后的經濟管理(Accounts)的列表及分頁信息。
/// 該方法所獲取的經濟管理(Accounts)列表僅用于在數據控件中顯示,該方法只為對象中需要顯示的屬性進行賦值。
/// </summary>
public abstract PageData GetPageList(int pageSize, int curPage);
#endregion EasyCode所生成的默認代碼
//﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉
// 說明:以下區域的代碼為設計開發人員所編寫,主要為擴展該數據訪問類的功能,而定義的變量、屬性及相關數據訪問方法。
// 注意:為了保證該項目的多數據庫支持與擴展性,本類中的方法通常為抽象方法,具體實現由本類的子類通過方法重寫完成。
//﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍
/// <summary>
/// 統計支出總額,收入金額
/// </summary>
/// <param name="startTime">開始時間</param>
/// <param name="endTime">結束時間</param>
/// <param name="categoryId">分類Id</param>
/// <returns>支出,收入</returns>
public abstract string CountMoney(DateTime startTime,DateTime endTime,int categoryId,string jsr);
}
}
EasyCode的官方網址:http://www.budeasycode.com/
EasyCode工程師愛英思躺博客園地址:http://www.cnblogs.com/BudEasyCode/
轉載于:https://www.cnblogs.com/lmlblog/archive/2012/03/19/EasyCode.html
總結
以上是生活随笔為你收集整理的EasyCode.Net代码生成器使用心得的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql 大数据量插入优化
- 下一篇: 整合个人人际资源