




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、課程案例企業(yè)辦公自動化管理系統(tǒng)系統(tǒng)分析o需求分析結論1.部門管理功能2.員工管理功能3.公告管理功能4.文件管理功能5.交流管理功能6.考勤管理功能7.規(guī)章制度管理功能8.系統(tǒng)管理功能二、系統(tǒng)設計1.系統(tǒng)目標根據(jù)需求分析的描述以及與用戶的溝通,現(xiàn)制定系統(tǒng)實現(xiàn)目標如下:系統(tǒng)采用人機對話方式,界面美觀友好,信息查詢靈活、方便,數(shù)據(jù)存儲平安可靠。靈活、快速的發(fā)送和接收文件。實現(xiàn)功能強大的公揭發(fā)布與管理功能。系統(tǒng)最大限度地實現(xiàn)易維護性和易操作性界面簡潔、框架清晰、美觀大方。實現(xiàn)企業(yè)部門和職員的信息管理功能。通過后臺查看與刪除公告信息、查看公文信息。對員工信息、職位信息與部門信息的管理。二、系統(tǒng)設計o業(yè)
2、務流程圖系統(tǒng)功能結構o企業(yè)辦公自動化管理系統(tǒng)前臺職員功能結構圖系統(tǒng)功能結構o企業(yè)辦公自動化管理系統(tǒng)前臺職員功能結構圖構建開放環(huán)境o1.web系統(tǒng)開發(fā)環(huán)境o頁面開發(fā)環(huán)境:VS2005集成開發(fā)環(huán)境o開發(fā)語言:ASP.NET +C#o后臺數(shù)據(jù)庫: SQL Server2000o開發(fā)環(huán)境運行平臺:XP(SP2)o2.效勞器端oWEB效勞器:IIS6.0o數(shù)據(jù)庫效勞器:SQL Server 2000o網(wǎng)站效勞器運行環(huán)境:.NET Framework sdk2.0o3.客戶端o瀏覽器:IE6.0o分辨率:最正確效果1024768數(shù)據(jù)庫設計o系統(tǒng)數(shù)據(jù)庫采用SQL Server2000數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為
3、db_OAS.數(shù)據(jù)庫db_OAS中包括多張數(shù)據(jù)表。下面分別給出數(shù)據(jù)表概要說明、數(shù)據(jù)庫E-R圖、數(shù)據(jù)表關系圖、數(shù)據(jù)表的結構。數(shù)據(jù)表概要說明o 數(shù)據(jù)表樹形結構如以下圖:數(shù)據(jù)庫E-R的分析o課堂練習: 對上表中的各個實體用E-R圖進行分析。要求:1.用E-R圖描述出各個實體。2.描述數(shù)據(jù)表結構。3.描述數(shù)據(jù)表之間的關系。實體描述舉例o企業(yè)部門實體E-R圖描述o企業(yè)部門數(shù)據(jù)表結構描述數(shù)據(jù)表的關系圖試寫出以下需求的SQL語句o根據(jù)輸入的用戶名“密碼查詢“系統(tǒng)用戶表中是否有記錄存在,并判斷該用戶是“管理員還是“普通職員o增加部門信息;o根據(jù)ID查看某個部門信息o刪除某個部門復雜SQL語句的使用 顯示企業(yè)的
4、年度優(yōu)秀員工信息1.優(yōu)秀員工的標準通過考勤考核遲到和早退2.考勤結果的前2位3.顯示的信息包括:員工姓名,所在部門,照片相關資料來自SQL聯(lián)機叢書使用使用 TOP 和和 PERCENT 限制結果集限制結果集oTOP 子句限制返回到結果集中的行數(shù)。oTOP n PERCENTon 指定返回的行數(shù)。如果未指定 PERCENT,n 就是返回的行數(shù)。o如果一個 SELECT 語句既包含 TOP 又包含 ORDER BY 子句,那么返回的行將會從排序后的結果集中選擇。整個結果集按照指定的順序建立并且返回排好序的結果集的前 n 行。相關資料來自SQL聯(lián)機叢書o用用 ORDER BY 對行進行排序?qū)π羞M行排
5、序oORDER BY 子句按查詢結果中的一列或多列對查詢結果進行排序,用作排序依據(jù)的列總長度可達 8,060。有關 ORDER BY 子句最大大小的更多信息,請參見 SELECT。o排序可以是升序的 (ASC),也可以是降序的 (DESC)。如果沒有指定升序還是降序,就假定為 ASC。相關資料來自SQL聯(lián)機叢書o聚合函數(shù)聚合函數(shù)o聚合函數(shù)對一組值執(zhí)行計算并返回單一的值。聚合函數(shù)對一組值執(zhí)行計算并返回單一的值。除除 COUNT 函數(shù)之外,聚合函數(shù)忽略空值。函數(shù)之外,聚合函數(shù)忽略空值。聚合函數(shù)經(jīng)常與聚合函數(shù)經(jīng)常與 SELECT 語句的語句的 GROUP BY 子句一同使用。子句一同使用。oTran
6、sact-SQL 編程語言提供以下聚合函編程語言提供以下聚合函數(shù):數(shù):oAVG MAX SUM MIN COUNT等等相關資料來自SQL聯(lián)機叢書o使用內(nèi)聯(lián)接使用內(nèi)聯(lián)接o內(nèi)聯(lián)接是用比較運算符比較要聯(lián)接列的值的聯(lián)接。內(nèi)聯(lián)接是用比較運算符比較要聯(lián)接列的值的聯(lián)接。o下面的下面的 Transact-SQL 查詢是內(nèi)聯(lián)接的一個例如:查詢是內(nèi)聯(lián)接的一個例如:o USE pubs o SELECT * o FROM authors AS a INNER JOIN publishers AS p o ON a.city = p.city o ORDER BY a.au_lname DESC o 此內(nèi)聯(lián)接稱為相等
7、聯(lián)接。它返回兩個表中的所有列,但只返回在聯(lián)此內(nèi)聯(lián)接稱為相等聯(lián)接。它返回兩個表中的所有列,但只返回在聯(lián)接列中具有相等值的行。接列中具有相等值的行。o select ,a.dept,a.photoPath,b.stateo from tb_employee AS a inner join o (select TOP 2 *o fromo ( select employeeName, sum(late)+sum(quit) as stateo from tb_sign group by employeeName)as aao order by state)as bo on =
8、b.employeeNameo order by b.stateADO.NET 介紹oADO.NET 對 Microsoft SQL Server 和 XML 等數(shù)據(jù)源以及通過 OLE DB 和 XML 公開的數(shù)據(jù)源提供一致的訪問。 o在創(chuàng)立 ADO.NET 時,Microsoft 具有以下設計目標:o 1.利用當前的 ActiveX 數(shù)據(jù)類型 (ADO) 知識。o 2.支持 N 層編程模型。o 3. 集成 XML 支持。ADO.NET介紹o和 .net framework類庫中其他所有東西一樣,ADO.net不過是一組類型TYPES而已,他們都位于SYSTEM.DATA名字空間中。ADO.N
9、ET介紹o每一種.NET數(shù)據(jù)供給器都實現(xiàn)為一組類型(types);oSystem.Data.SqlClient名字空間-SQL ProvideroSystem.Data.OleDb名字空間-OLE DB Providero不管選擇哪種Provider,每一種都提供一套相似的類ClassADO.NET介紹.NET數(shù)據(jù)provider都支持的一些根底對象。它們是:Connection:用于建立和釋放連接SqlConnection-OleDbConnectionCommand:用于存儲和執(zhí)行命令,如一個SQL查詢或一個存儲過程,并為命令指定參數(shù)。DataReader:對數(shù)據(jù)庫中的數(shù)據(jù)提供直接、循環(huán)的
10、只讀的訪問。DataAdapter:建造于DataReader之上,用于創(chuàng)立和操作DataSet實體。ADO.NET介紹o客戶可以通過DataReader或者DataSet來訪問數(shù)據(jù)。Visual Studio 中的數(shù)據(jù)命名空間 .NET Framework 中的數(shù)據(jù)和 XML 命名空間包括: oSystem.Data 由構成 ADO.NET 結構的類組成,該結構是托管應用程序的主要數(shù)據(jù)訪問方法。ADO.NET 結構使您可以生成可用于有效管理來自多個數(shù)據(jù)源的數(shù)據(jù)的組件。oSystem.Data.OleDb 構成兼容數(shù)據(jù)源的 OLE DB .NET Framework 數(shù)據(jù)提供程序的類。這些類使
11、您能連接到 OLE DB 數(shù)據(jù)源、針對數(shù)據(jù)源執(zhí)行命令并讀取結果。oSystem.Data.SqlClient 構成 SQL Server .NET Framework 數(shù)據(jù)提供程序的類,該提供程序允許您連接到 SQL Server 7.0、執(zhí)行命令并讀取結果。System.Data.SqlClient 命名空間與 System.Data.OleDb 命名空間類似,但為訪問 SQL Server 7.0 和更高版本進行了優(yōu)化。訪問數(shù)據(jù)例如o例如如何翻開一連接,如何創(chuàng)立一個命令,以及如何利用DataReaer讀取結果。o例如展示如何使用DataSetso 一個DataAdapter如何用于將一個D
12、ataTable添加到一個DataSets中訪問數(shù)據(jù)例如-DataReader 1.設置一個連接 SqlConnection Cn = New SqlConnection(Server=(local);database=db_OAS;Uid=sa;Pwd=); 2.創(chuàng)立一個命令 SqlCommand Cmd = Cn.CreateCommand(); Cmd.CommandText = select * from tb_department where ID=20; 3. 翻開連接Cn.Open(); 4. 執(zhí)行命令-?將結果存入DataReader SqlDataReader Rdr = C
13、md.ExecuteReader();訪問數(shù)據(jù)例如-DataReadero5.取結果并顯示o try o while (Rdr.Read()o o o System.Console.WriteLine(String.Format(0,1,2, o Rdr0, Rdr1, Rdr2);o o o catch (System.Exception e)o o System.Console.WriteLine(Error:0, o e.Message);o o 訪問數(shù)據(jù)例如-DataReadero6.釋放資源,關閉連接ofinally Rdr.Close(); Cn.Close(); 訪問數(shù)據(jù)例如-D
14、ataSetsoSqlConnection Cn = new SqlConnection(Server=(local);database=db_OAS;Uid=sa;Pwd=);o SqlCommand Cmd = Cn.CreateCommand();o Cmd.CommandText = select * from tb_department where ID=20;o SqlDataAdapter Da = new SqlDataAdapter();o Da.SelectCommand = Cmd;o DataSet Ds = new DataSet();o Cn.Open();o Da
15、.Fill(Ds, tb_deparment);o Cn.Close();訪問數(shù)據(jù)例如-DataSeto取數(shù)據(jù);o try if (Ds.Tables0.Rows.Count0) DataRow row = Ds.Tables0.Rows0; System.Console.WriteLine(String.Format(0,1,2, row0, row1, row2); o catch (System.Exception e) System.Console.WriteLine(Error:0, e.Message); 訪問數(shù)據(jù)例如-DataSetofinally if (Cn.State=Co
16、nnectionState.Open) Cn.Close(); o#region 利用DataSet存取查詢結果; public DataSet ExecuteSelect (string strSql, string strTableName)o o SqlConnection conn = new o SqlConnection(strConn);o SqlCommand com = conn.CreateCommand();o com.CommandText = strSql;o SqlDataAdapter da = new SqlDataAdapter();o da.SelectCo
17、mmand = com;o DataSet ds = new DataSet();o conn.Open();o da.Fill(ds, strTableName);o conn.Close();o o return ds;o o#endregiono#region 增加、刪除、添加SQL語句接口o public int ExecuteUpdateAndInsert(string strSql)o o SqlConnection conn = new SqlConnection(strConn);o SqlCommand com = conn.CreateCommand();o com.Com
18、mandText = strSql;o conn.Open();o int iResult=com.ExecuteNonQuery();o return iResult;o o#endregion接口的封裝o class DataAccesso o const string strConn; o public DataAccess () strConn = Server=(local);database=db_OAS;Uid=sa;Pwd=; o接口1:利用DataSet存取查詢結果針對SELECT語句;o接口2: 增加、刪除、添加SQL語句接口 接口1:利用DataSet存取查詢結果針對SE
19、LECT語句o #region 該方法執(zhí)行查詢命令,并返回該方法執(zhí)行查詢命令,并返回DataSet數(shù)據(jù)集;數(shù)據(jù)集;o public DataSet Run(string strSQL, string strTableName)o o SqlConnection conn = new SqlConnection(strConn);o conn.Open();o SqlCommand com = new SqlCommand(strSQL, conn);o o SqlDataAdapter da = new SqlDataAdapter();o o da.SelectCommand = com;o
20、 DataSet ds = new DataSet();o da.Fill(ds, strTableName);o conn.Close();o return ds;o o #endregiono 接口2: 增加、刪除、添加SQL語句接口o public bool Run(string strSQL)o o SqlConnection con = new SqlConnection(strConn);o con.Open();o /第二種產(chǎn)生命令對象的方法;o SqlCommand com = new SqlCommand(strSQL, con);o if (com.ExecuteNonQu
21、ery() 0)o o con.Close();o return true;o elseo o con.Close();o return false;o o 接口的使用o1.創(chuàng)立數(shù)據(jù)類實例;o DataAccess da = new DataAccess();o2.調(diào)用接口;oDataSet ds = oda.Run(Select * from b_department, dept);ostring strSQL = insert into tb_department values(+s1+,+s2+);oda.Run(strSQL);接口的使用o要求:點擊添加按鈕,將部門名和描述插入到Dro
22、pdownlist控件中顯示o點擊查詢按鈕,將顯示該部門的描述信息。接口的使用o數(shù)據(jù)綁定; opublic void BindDept()oo dlShow.DataSource = o da.Run(Select * from tb_department, o dept);o dlShow.DataTextField = name;o dlShow.DataBind();o 接口的使用o點擊添加按鈕;oprotected void Button1_Click(object sender, EventArgs e)oo string s1=txtName.Text;o string s2 =
23、txtDemo.Text;o string strSQL = oinsert into tb_department values(+s1+,+s2+);o da.Run(strSQL);o BindDept();接口的使用點擊查詢按鈕;protected void btnShowInfo_Click(object sender, EventArgs e)o o string s1 = dlShow.SelectedValue;o string strSql = o select * from tb_department where name= + s1 + ;o DataSet ds = da
24、.Run(strSql,dept);o if (ds.Tables0.Rows.Count0)o o LblShow.Text = 該部門介紹: + ds.Tables0.Rows02.ToString();o o C#+SQL+HTMLo protected void LoadInfo()o o DataSet ds =o da.Run(select * from tb_department, dept);o Response.Write();o Response.Write();o Response.Writeo(編號部門名稱部門介紹);o Response.Write();oC#+SQL
25、+HTMLofor (int i = 0; i ds.Tables0.Rows.Count;i+ )o o Response.Write();o Response.Write(o+ds.Tables0.Rowsi0.ToString()+ds.Tables0.Rowsi1.ToString()+ds.Tables0.Rowsi2.ToString()+“o );o Response.Write();o o o Response.Write();C#+SQL+HTML對連接對象執(zhí)行 SQL 語句 來自MS幫助文檔public abstract int ExecuteNonQuery ()可以使用
26、 ExecuteNonQuery 執(zhí)行編錄操作例如查詢數(shù)據(jù)庫的結構或創(chuàng)立諸如表等的數(shù)據(jù)庫對象,或通過執(zhí)行 UPDATE、INSERT 或 DELETE 語句更改數(shù)據(jù)庫中的數(shù)據(jù)。雖然 ExecuteNonQuery 不返回任何行,但是映射到參數(shù)的任何輸出參數(shù)或返回值都會用數(shù)據(jù)進行填充。對于 UPDATE、INSERT 和 DELETE 語句,返回值為該命令所影響的行數(shù)。對于其他所有類型的語句,返回值為 -1。返回值-受影響的行數(shù)。 接口的使用o MyData md = new MyData();/ 創(chuàng)立對象o DataSet Ds = md.ExecuteSql(“select * from t
27、b_department where ID=20, “tb_department);o /使用接口o tryo o if (Ds.Tables0.Rows.Count0)o . o o catch (System.Exception e)o .o 接口參數(shù)控件的使用說明用戶控件用戶控件 BaseClass bc = new BaseClass(); if (rdoBtnAdmin.Checked) DataSet ds =bc.GetDataSet(select count(*) from tb_sysUser where userName=+txtName.Text+ and userPwd
28、=+txtPwd.Text+and system=1,tb_employee); if (ds .Tables0.Rows.Count0) 用戶控件 BaseClass bc = new BaseClass(); DataSet ds = bc.GetDataSet( select ,a.dept,a.photoPath,a.job,b.state from tb_employee as a inner join( select TOP 2 * FROM (select employeeName, sum(late)+sum(quit) as state from tb_sign
29、group by employeeName ) as aa order by state) as b on =b.employeeName order by b.state“ ,tb_sign); DataList1.DataSource = ds; DataList1.DataBind();數(shù)據(jù)綁定o asp:Image ID=Image1 ImageUrl= runat=server Height=54px Width=69px /o 姓名: 部門: o 職務: 顯示控件-GridView顯示控件-GridViewo顯示表格數(shù)據(jù)是軟件開發(fā)中的一個周期性任務。ASP.NET 提
30、供了許多工具來在網(wǎng)格中顯示表格數(shù)據(jù) 可以使用 GridView 來完成以下操作:o通過數(shù)據(jù)源控件自動綁定和顯示數(shù)據(jù)。o通過數(shù)據(jù)源控件對數(shù)據(jù)進行選擇、排序、分頁、編輯和刪除。顯示控件-GridView通過以下方式自定義 GridView 控件的外觀和行為:指定自定義列和樣式。利用模板創(chuàng)立自定義用戶界面 (UI) 元素。通過處理事件將自己的代碼添加到 GridView 控件的功能中。比較 GridView 和 DataGridoGridView 控件是 DataGrid 控件的后繼控件。與 DataGrid 控件相似,GridView 控件旨在在 HTML 表中顯示數(shù)據(jù)。o當綁定到數(shù)據(jù)源時,Dat
31、aGrid 和 GridView 控件分別將 DataSource 中的一行顯示為輸出表中的一行。 oDataGrid 和 GridView 控件都是從 WebControl 類派生的。 比較 GridView 和 DataGrid 雖然 GridView 控件與 DataGrid 控件具有類似的對象模型,但與 DataGrid 控件相比,前者還具有許多新功能和優(yōu)勢,包括: 更豐富的設計時功能。改進的數(shù)據(jù)源綁定功能。排序、分頁、更新和刪除的自動處理。其他列類型和設計時列操作。具有 PagerTemplate 屬性的自定義頁導航用戶界面 (UI)。GridView 控件中設置數(shù)據(jù)顯示格式 o可以
32、指定 GridView 控件的行的布局、顏色、字體和對齊方式。o可以指定行中包含的文本和數(shù)據(jù)的顯示。o另外,可以指定將數(shù)據(jù)行顯示為工程、交替項、選擇的項還是編輯模式項。o GridView 控件中設置數(shù)據(jù)顯示格式使用 GridView 控件進行數(shù)據(jù)綁定 GridView 控件提供了兩個用于綁定到數(shù)據(jù)的選項具體說明參見MSDN使用 DataSourceID 屬性進行數(shù)據(jù)綁定,此選項讓您能夠?qū)?GridView 控件綁定到數(shù)據(jù)源控件 使用 DataSource 屬性進行數(shù)據(jù)綁定,此選項使您能夠綁定到包括 ADO.NET 數(shù)據(jù)集和數(shù)據(jù)讀取器在內(nèi)的各種對象。 使用 GridView 控件進行數(shù)據(jù)綁定o
33、 protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) GridView1.DataSource = bc.GetDataSet(select * from tb_department,department); GridView1.DataKeyNames = new string ID ; GridView1.DataBind(); 使用 GridView 控件編輯和刪除數(shù)據(jù) HyperLinkField 類 來自MSDNHyperLinkField 類字段表示在數(shù)據(jù)綁定控件中顯示為超鏈接的字段。重要屬性說
34、明:DataNavigateUrlFields 屬性 獲取或設置數(shù)據(jù)源中字段的名稱,用于為 HyperLinkField 對象中的超鏈接構造 URL。DataNavigateUrlFormatString 屬性 取或設置當 URL 數(shù)據(jù)綁定到數(shù)據(jù)源中的字段時,HyperLinkColumn 中的超鏈接的 URL 的顯示格式。 DataNavigateUrlFormatString= “DeptInfoEdit2.aspx?id=0 顯示編輯的二級頁面顯示編輯的二級頁面o根據(jù)傳過來的ID進行查找,并顯示到頁面元素中去;oif (!Page.IsPostBack ) DataSet ds = bc
35、.GetDataSet(SELECT * FROM tb_department WHERE ID = + Request.QueryStringid.ToString() + , department); if (ds.Tables0.Rows.Count 0) TxtDeptName.Text = ds.Tables0.Rows0Name.ToString(); TxtDeptMemo.Text = ds.Tables0.Rows0memo.ToString(); 理解事件冒泡o在ASP.NET框架中包含3個支持事件冒泡的標準控件Repeater、DataList和DataGrid控件o事件冒泡指上述這些控件能捕獲其子控件的事件。當子控件產(chǎn)生一個事件時,事件就向上“冒泡傳給包含該子控件的容器控件父控件,而容器控件就可以執(zhí)行一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高級托管服務管理協(xié)議
- 2025年房產(chǎn)買賣指標協(xié)議書范本
- 2025年企業(yè)個體汽車借用協(xié)議
- 反腐敗與企業(yè)合規(guī)文化的深化
- 2025年合規(guī)股權轉(zhuǎn)讓補償協(xié)議
- 國際市場拓展的風險識別與應對
- 2025年企業(yè)員工策劃性調(diào)動協(xié)議示例
- 理賠業(yè)務風險管理跨部門信息傳遞機制完善風險基礎知識點歸納
- 理賠業(yè)務風險管理跨部門反饋機制完善風險基礎知識點歸納
- 商法學基礎知識點歸納
- 全國數(shù)據(jù)應用大賽“數(shù)字安全賽”備賽試題及答案
- 2024年醫(yī)學高級職稱-心血管內(nèi)科(醫(yī)學高級)考試近5年真題集錦(頻考類試題)帶答案
- 海產(chǎn)品購銷合同簡單版(2篇)
- 2023年上海市初中學生學業(yè)考試生命科學試卷及答案
- 2024年山東省青島市中考語文試卷(附答案)
- 2024年事業(yè)單位考試題庫及答案(共200題)
- 老年人合理膳食與營養(yǎng)教育考核試卷
- 實驗室保密規(guī)定2024年
- 2024新高考I卷全國統(tǒng)一考試高考生物試題(真題+答案)
- T-GDASE 0042-2024 固定式液壓升降裝置安全技術規(guī)范
- (正式版)QB∕T 8049-2024 家用和類似用途微壓富氧艙
評論
0/150
提交評論