程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅第十一講 使用反射和特性構造自己的ORM框架(下)(6)

C#發現之旅第十一講 使用反射和特性構造自己的ORM框架(下)(6)

編輯:關於C語言

該按鈕的點擊事件處理中,首先調用CreateFramework函數連接數據庫,創建一個ORM框架對象的實例,然後調用RefreshList函數來刷新列表。

RefreshList函數中,首先調用ORM框架的ReadAllObjects函數獲得數據庫中所有的類型為DB_Employees的對象,ReadAllObjects函數內部調用了ReadObjects函數。程序獲得一個對象數組後放置到一個ArrayList中,然後設置列表框控件的數據源和顯示字段名稱,這樣就刷新了員工名稱列表框的內容了。

用戶點擊員工名稱列表框的某個姓名後就會在用戶界面的右邊顯示該員工的詳細信息,其處理過程的代碼為

private void lstName_SelectedIndExchanged(object sender, System.EventArgs e)
{
DB_Employees obj = lstName.SelectedItem as DB_Employees ;
if( obj != null )
{
this.txtID.Text = obj.EmployeeID.ToString() ;
this.txtName.Text = obj.FullName ;
this.txtTitleOfCourtesy.Text = obj.TitleOfCourtesy ;
this.txtAddress.Text = obj.Address ;
this.txtNotes.Text = obj.Notes ;
}
else
{
this.txtID.Text = "";
this.txtName.Text = "";
this.txtTitleOfCourtesy.Text = "";
this.txtNotes.Text = "" ;
this.txtAddress.Text = "";
}
}

這個過程也很簡單,用戶刷新員工列表框後,該列表框的列表內容都是DB_Employees類型,我們就獲得當前的員工信息對象,然後一個個設置右邊的文本框的內容為各個屬性值就可以了。

新增數據

我們點擊“新增”按鈕就會向數據庫新增一條記錄,其主要代碼為

private void cmdInsert_Click(object sender, System.EventArgs e)
{
try
{
using( dlgRecord dlg = new dlgRecord())
{
dlg.Employe = new DB_Employees();
if( dlg.ShowDialog( this ) == DialogResult.OK )
{
using( MyORMFramework myWork = this.CreateFramework())
{
if( myWork.InsertObject( dlg.Employe ) > 0 )
{
RefreshList( myWork );
}
}
}
}
}
catch( Exception ext )
{
MessageBox.Show( ext.ToString());
}
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved