Công nghệ sử dụng

Một phần của tài liệu Ứng dụng công nghệ hướng đối tượng và XML để phát triển hệ thống trên nền WEB (Trang 108)

Trên cơ sở sử dụng công nghệ phân tích thiết kế h−ớng đối t−ợng và các công cụ hỗ trợ, tôi đ lựa chọn công nghệ cho việc cài đặt hệ thống trên nền Web nh− sau:

– Dùng công nghệ lập trình h−ớng đối t−ợng Visual Studio.Net – Dùng công nghệ XML làm cơ sở dữ liệu (cơ sở dữ liệu XML) 3.8.2. Cài đặt và thử nghiệp

Bài toán “Tuyển dụng cán bộ công chức, viên chức” đ đ−ợc thiết kế và xây dựng theo công nghệ đ lựa chọn, với mục đích ban đầu đ đề ra và thời l−ợng có hạn

Luận văn tốt nghiệp thạc sỹ Luận văn tốt nghiệp thạc sỹ Luận văn tốt nghiệp thạc sỹ

Luận văn tốt nghiệp thạc sỹ Nguyễn Thanh Thảo Nguyễn Thanh Thảo Nguyễn Thanh Thảo Nguyễn Thanh Thảo

ứ ứứ

ứng dụng công nghệ h−ớng đối t−ợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ h−ớng đối t−ợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ h−ớng đối t−ợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ h−ớng đối t−ợng và XML để phát triển hệ thống trên nền Web

101

nên tôi chỉ thiết kế và cài đặt một số ca sử dụng mang tính chất thử nghiệp của hệ thống. Các ca sử dụng này đ đ−ợc cài đặt và thử nghiệm thành công trên nền Web. a. Ca sử dụng yêu cầu báo cáo nhân sự

Luận văn tốt nghiệp thạc sỹ Luận văn tốt nghiệp thạc sỹ Luận văn tốt nghiệp thạc sỹ

Luận văn tốt nghiệp thạc sỹ Nguyễn Thanh Thảo Nguyễn Thanh Thảo Nguyễn Thanh Thảo Nguyễn Thanh Thảo

ứ ứứ

ứng dụng công nghệ h−ớng đối t−ợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ h−ớng đối t−ợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ h−ớng đối t−ợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ h−ớng đối t−ợng và XML để phát triển hệ thống trên nền Web

103 c. Ca sử dụng Tổng hợp báo cáo

Luận văn tốt nghiệp thạc sỹ Luận văn tốt nghiệp thạc sỹ Luận văn tốt nghiệp thạc sỹ

Luận văn tốt nghiệp thạc sỹ Nguyễn Thanh Thảo Nguyễn Thanh Thảo Nguyễn Thanh Thảo Nguyễn Thanh Thảo

ứ ứứ

ứng dụng công nghệ h−ớng đối t−ợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ h−ớng đối t−ợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ h−ớng đối t−ợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ h−ớng đối t−ợng và XML để phát triển hệ thống trên nền Web

105 e. Ca sử dụng thông báo tuyển dụng

Kết luận

Trên đây là toàn bộ kết quả nghiên cứu đ đạt đ−ợc khi thực hiện đề tài "ứng dụng công nghệ h−ớng đối t−ợng và XML để phát triển hệ thống trên nền Web". Với thời l−ợng có hạn luận văn tốt nghiệp của tôi còn có mặt hạn chế, tôi mong có đ−ợc các ý kiến đóng góp, h−ớng dẫn của các thầy, cô để hoàn thiện hơn nữa trong t−ơng lai. Với kết quả nghiên cứu đ đạt đ−ợc trên, tôi sẽ tiếp tục nghiên cứu tìm hiểu và phát triển theo h−ớng của đề tài đ lựa chọn và sẽ hoàn thiện việc triển khai các ứng dụng sử dụng công nghệ h−ớng đối t−ợng và công nghệ XML.

Đạt đ−ợc kết quả trên, một lần nữa tôi chân thành cảm ơn các thầy, cô và tập thể cán bộ khoa Công nghệ thông tin - Đại học Công nghệ đ giảng dạy, h−ớng dẫn tạo mọi điều kiện giúp đỡ tôi. Tôi cũng mong có đ−ợc các ý kiến đóng góp, h−ớng dẫn của các thầy, cô để có thể hoàn thiện hơn nữa và có h−ớng phát triển tiếp theo dựa trên kết quả nghiên cứu đ đạt đ−ợc.

Hà Nội, ngày 25 tháng 10 năm 2006

Học viên cao học

Tài liệu tham khảo Tiếng Việt:

1. Đoàn Văn Ban (2001), Giáo trình UML, Hà Nội

2. PGS TS Nguyễn Văn Vỵ (2000), Phân tích thiết kế các hệ thống thông tin hiện đại, NXB Thống kê

3. Nhập môn UML (2003), NXB Lao động – X hội

4. Thủ t−ớng Chính phủ (2003), Nghị Định 29/2003/NĐ-CP ngày 31 tháng 3 năm 2003 Qui định về chức năng, nhiệm vụ, quyền hạn và tổ chức bộ máy của Bộ LĐTBXH.

5. UBTV Quốc hội (2003), Pháp lệnh cán bộ công chức sửa đổi, bổ sung một số điều của Pháp lệnh cán bộ công chức.

6. XML – kỹ thuật tạo trang Web (2004), NXB Thống kê Tiếng Anh:

7. Airi Salminen, Frank Wm.Tompa: Department of Computer and Science and information Systems University of Jyvaskyla Finland, Department of Computer and Science University of Waterloo Canada, “Requirents for XML Document Database Systems”

8. Brian E. Travis (2002), “XML Syntax”, XML and SOAP Programming for BizTalk Servers, Microsoft Press

9. Codd, Peter and Edwaid Yourdon (1990), Object Oriented Analysis, Englewood Cliffs NJ Yourdon Press, Prentics Hall

10. David Carlon (2001), Modeling XML Applications with UML, Addison Wesley 11. Erich Gamma, Richard Helm, Ralph Johnson, John Vilisides (1994), Design

patterns: Elements of Reusable Object – Oriented Software, Addison Wesley 12. Grady Booch (1994), Object Oriented Analysis and Design with Applications.

Benjamin Cumminhs,

13. Grady Booch, Jame Bumbaugh and Ivar Jacobson (1999), The Unified Modeling Language User Guide, Addison Wesley

14. Jag Sodhi, Prince Sodhi (1998), Software reuse: Domain Analysis and Design Processes, McGrawn-Hill

15. John D. McGrecor, David A. Sykes (1992), Object Oriented Software Development: Engineering Software for Reuse, Intl Thomson Computer Press 16. Jan Egil Refsnes (1999), XML Basic and Advanced, http://www.w3schools.com

109

17. Mike Champion, Gavin Nicol (1998), Document Object Model Level 1, http://www.w3.org

18. Pontus Norman (1999), "A study of XML"

19. R. Allen Wyke, Sultan Rehman, Brad Leupan (2002), XML Programming, Microsoft Press.

phụ lục

1. File dữ liệu XML DSDonvi.xml phục vụ gói ca sử dụng "Xác định chỉ tiêu tuyển dụng" <?xml version="1.0" standalone="yes"?> <NewDataSet> <xs:schema id="NewDataSet" xmlns="" xmlns:xs= "http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft- com:xml- msdata"> <xs:element name="part"> <xs:complexType> <xs:sequence>

<xs:element name="MaDonVi" type="xs:string" minOccurs="0" msdata:Ordinal="1" />

<xs:element name="TenDonVi" type="xs:string" minOccurs="0" msdata:Ordinal="2" />

<xs:element name="TongSoCanBo" type="xs:integer" minOccurs="0"

msdata:Ordinal="3" />

<xs:element name="NhanBaoCao" type="xs:integer" minOccurs="0" msdata:Ordinal="4" />

<xs:element name="BaoCao" type="xs:integer" minOccurs="0" msdata:Ordinal="5" />

<xs:element name="SoBienCheDG" type="xs:integer" minOccurs="0" msdata:Ordinal="6" />

<xs:element name="SoCBBienChe" type="xs:integer" minOccurs="0"

msdata:Ordinal="7" />

</xs:sequence>

<xs:attribute name="partid" type="xs:integer" /> </xs:complexType>

</xs:element>

<xs:element name="NewDataSet" msdata:IsDataSet="true"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element ref="part" /> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <part> <MaDonVi>dv01</MaDonVi> <TenDonVi>Văn phũng Bộ</TenDonVi> <TongSoCanBo>15</TongSoCanBo> <NhanBaoCao>1</NhanBaoCao> <BaoCao>1</BaoCao>

111 <SoBienCheDG>0</SoBienCheDG> <SoCBBienChe>15</SoCBBienChe> </part> <part> <MaDonVi>dv02</MaDonVi>

<TenDonVi>Đại học Lao động - Xó hội</TenDonVi> <TongSoCanBo>295</TongSoCanBo> <NhanBaoCao>1</NhanBaoCao> <BaoCao>0</BaoCao> <SoBienCheDG>30</SoBienCheDG> <SoCBBienChe>210</SoCBBienChe> </part> <part> <MaDonVi>dv03</MaDonVi>

<TenDonVi>Vụ Tổ chức cỏn bộ - Đào tạo</TenDonVi> <TongSoCanBo>12</TongSoCanBo> <NhanBaoCao>1</NhanBaoCao> <BaoCao>0</BaoCao> <SoBienCheDG>2</SoBienCheDG> <SoCBBienChe>10</SoCBBienChe> </part> <part> <MaDonVi>dv04</MaDonVi> <TenDonVi>Tổng cục dạy nghề</TenDonVi> <TongSoCanBo>105</TongSoCanBo> <NhanBaoCao>1</NhanBaoCao> <BaoCao>0</BaoCao> <SoBienCheDG>10</SoBienCheDG> <SoCBBienChe>97</SoCBBienChe> </part> <part> <MaDonVi>dv05</MaDonVi>

<TenDonVi>Vụ Kế hoạch tài chớnh</TenDonVi> <TongSoCanBo>17</TongSoCanBo> <NhanBaoCao>1</NhanBaoCao> <BaoCao>0</BaoCao> <SoBienCheDG>1</SoBienCheDG> <SoCBBienChe>16</SoCBBienChe> </part> <part> <MaDonVi>dv06</MaDonVi> <TenDonVi>Vụ Bảo trợ xó hội</TenDonVi> <TongSoCanBo>12</TongSoCanBo> <NhanBaoCao>1</NhanBaoCao>

<BaoCao>0</BaoCao> <SoBienCheDG>2</SoBienCheDG> <SoCBBienChe>10</SoCBBienChe> </part> <part> <MaDonVi>dv07</MaDonVi> <TenDonVi>Vụ Hợp tỏc quốc tế</TenDonVi> <TongSoCanBo>11</TongSoCanBo> <NhanBaoCao>1</NhanBaoCao> <BaoCao>0</BaoCao> <SoBienCheDG>2</SoBienCheDG> <SoCBBienChe>9</SoCBBienChe> </part> <part> <MaDonVi>dv08</MaDonVi>

<TenDonVi>Vụ Lao động - Việc làm</TenDonVi> <TongSoCanBo>10</TongSoCanBo> <NhanBaoCao>1</NhanBaoCao> <BaoCao>0</BaoCao> <SoBienCheDG>1</SoBienCheDG> <SoCBBienChe>9</SoCBBienChe> </part> <part> <MaDonVi>dv09</MaDonVi>

<TenDonVi>Vụ Tiền lương - Tiền cụng</TenDonVi> <TongSoCanBo>12</TongSoCanBo> <NhanBaoCao>1</NhanBaoCao> <BaoCao>0</BaoCao> <SoBienCheDG>5</SoBienCheDG> <SoCBBienChe>10</SoCBBienChe> </part> <part> <MaDonVi>dv10</MaDonVi> <TenDonVi>Vụ Bảo hiểm</TenDonVi> <TongSoCanBo>10</TongSoCanBo> <NhanBaoCao>1</NhanBaoCao> <BaoCao>0</BaoCao> <SoBienCheDG>0</SoBienCheDG> <SoCBBienChe>10</SoCBBienChe> </part> <part> <MaDonVi>dv11</MaDonVi>

<TenDonVi>Cục Quản lý Lao động ngoài nước</TenDonVi> <TongSoCanBo>55</TongSoCanBo>

113 <NhanBaoCao>1</NhanBaoCao> <BaoCao>0</BaoCao> <SoBienCheDG>5</SoBienCheDG> <SoCBBienChe>53</SoCBBienChe> </part> <part> <MaDonVi>dv12</MaDonVi>

<TenDonVi>Cục Thương binh liệt sỹ</TenDonVi> <TongSoCanBo>15</TongSoCanBo> <NhanBaoCao>1</NhanBaoCao> <BaoCao>0</BaoCao> <SoBienCheDG>1</SoBienCheDG> <SoCBBienChe>14</SoCBBienChe> </part> <part> <MaDonVi>dv13</MaDonVi>

<TenDonVi>Viện Khoa học LĐXH</TenDonVi> <TongSoCanBo>47</TongSoCanBo> <NhanBaoCao>1</NhanBaoCao> <BaoCao>0</BaoCao> <SoBienCheDG>0</SoBienCheDG> <SoCBBienChe>47</SoCBBienChe> </part> <part> <MaDonVi>dv14</MaDonVi> <TenDonVi>Cục Phũng chống tệ nạn</TenDonVi> <TongSoCanBo>10</TongSoCanBo> <NhanBaoCao>1</NhanBaoCao> <BaoCao>0</BaoCao> <SoBienCheDG>1</SoBienCheDG> <SoCBBienChe>9</SoCBBienChe> </part> <part> <MaDonVi>dv15</MaDonVi>

<TenDonVi>Thanh tra Bộ</TenDonVi> <TongSoCanBo>10</TongSoCanBo> <NhanBaoCao>1</NhanBaoCao> <BaoCao>0</BaoCao> <SoBienCheDG>0</SoBienCheDG> <SoCBBienChe>10</SoCBBienChe> </part> </NewDataSet>

2. Mã nguồn cho các chức năng trong ch−ơng trình a. Form DanhSachDonvi Imports System.Text Imports System.Data Imports System.Collections Imports System.net Imports System.Xml Imports System.IO

PublicClass DonVi

Inherits System.Web.UI.Page

#Region " Web Form Designer Generated Code "

<System.Diagnostics.DebuggerStepThrough()> PrivateSub InitializeComponent() EndSub

Protected WithEvents Label1 As System.Web.UI.WebControls.Label

Protected WithEvents grdDonVi As System.Web.UI.WebControls.DataGrid Protected WithEvents LinkButton1 As System.Web.UI.WebControls.LinkButton Protected WithEvents btnGuiBaoCao As System.Web.UI.WebControls.Button Protected WithEvents grdDV As System.Web.UI.WebControls.DataGrid Protected WithEvents btnThem As System.Web.UI.WebControls.Button Private designerPlaceholderDeclaration As System.Object

PrivateSub Page_Init(ByVal sender As System.Object, ByVal e As

System.EventArgs) HandlesMyBase.Init

InitializeComponent() EndSub

#End Region

PrivateSub Page_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) HandlesMyBase.Load

IfNot IsPostBack Then

BindDonVi() End If

EndSub

PrivateSub grdDV_PageIndexChanged(ByVal source As System.Object, ByVal e

As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles

grdDV.PageIndexChanged

grdDV.CurrentPageIndex = e.NewPageIndex BindDonVi()

EndSub

PrivateSub grdDV_DeleteCommand(ByVal source As System.Object, ByVal e

As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles

115

Dim id AsString = grdDV.DataKeys.Item(e.Item.ItemIndex) Dim i AsInteger

Dim strString AsString

Dim ds AsNew DataSet Dim inputXml AsString

Dim input2 AsString

Dim input1 AsString

Dim input3 AsString

Dim reader As StreamReader = New StreamReader(Server.mapath & "." & "\database\dsdonvi.xml")

inputXml = reader.ReadToEnd reader.Close()

Try

strString = "<MaDonVi>" + id.ToString + "</MaDonVi>" input1 = inputXml.Substring(0, inputXml.IndexOf(strString)) input3 = inputXml.Substring(0, inputXml.IndexOf(strString)) input2 = inputXml.Substring(inputXml.IndexOf(strString) + strString.Length)

DoWhile (input3.IndexOf("</part>") > 0)

input3 = input3.Substring(input3.IndexOf("</part>") + 7) Loop

input1 = input1.Substring(0, input1.Length - input3.Length) If (input2.IndexOf("<MaDonVi>") > 0) Then

input2 = input2.Substring(input2.IndexOf("<MaDonVi>")) Else

input2 = "</NewDataSet>" EndIf

inputXml = input1 + input2

Dim doc As XmlDocument = New XmlDocument

doc.LoadXml(inputXml)

doc.Save("Server.mapath & "." & "\database\dsdonvi.xml") Catch ex As Exception

Dim str AsString = ex.Message End Try

BindDonVi() EndSub

Protected Sub ButtonRender(ByVal sender AsObject, ByVal e As EventArgs) Dim Btn As LinkButton = CType(sender, LinkButton)

Btn.Attributes.Item("onclick") = "return confirm('B?n cú ch?c ch?n xoỏ don v? này?');"

EndSub

PrivateSub BindDonVi() Try

ds.ReadXml("Server.mapath & "." & "\database\dsdonvi.xml")

'lblPartID.Text = CType(ds.Tables(0).Rows(0).Item("PartID"), String)

grdDV.DataSource = ds grdDV.DataBind() ds.Dispose()

Catch ex As Exception

Dim strError AsString = ex.Message End Try

EndSub

PrivateSub btnGuiBaoCao_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnGuiBaoCao.Click

Dim i AsInteger

Dim dem AsInteger

i = 0

Dim ds AsNew DataSet

ds.ReadXml("Server.mapath & "." & "\database\dsdonvi.xml") For i = 0 To grdDV.Items.Count - 1

Dim chkDelete As CheckBox

chkDelete = CType(grdDV.Items(i).Cells(0).FindControl("ChkDelete"), CheckBox)

If chkDelete.Checked = TrueThen

Try

ds.Tables(0).Rows(i).Item("MaDonVi") = grdDV.Items(i).Cells(1).Text ds.Tables(0).Rows(i).Item("TenDonVi") = grdDV.Items(i).Cells(2).Text ds.Tables(0).Rows(i).Item("BaoCao") = 1

ds.WriteXml("Server.mapath & "." & "\database\dsdonvi.xml", _ XmlWriteMode.WriteSchema)

Catch ex As Exception

Dim err AsString = ex.Message Finally ds.Dispose() EndTry EndIf Next grdDV.DataSource = ds grdDV.DataBind() Response.Redirect("DSDonViBaoCao.aspx", True) EndSub

PrivateSub btnThem_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnThem.Click

Response.Redirect("ThemDonVi.aspx?Mode=AddNew", True) EndSub

117

PrivateSub grdDV_SelectedIndexChanged(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles grdDV.SelectedIndexChanged EndSub

EndClass

b. Code form DSDonViPhaiBaocao

PublicClass DSDonViBaoCao Inherits System.Web.UI.Page

#Region " Web Form Designer Generated Code "

<System.Diagnostics.DebuggerStepThrough()> PrivateSub InitializeComponent() EndSub

Protected WithEvents grdDonVi As System.Web.UI.WebControls.DataGrid Private designerPlaceholderDeclaration As System.Object

PrivateSub Page_Init(ByVal sender As System.Object, ByVal e As

System.EventArgs) HandlesMyBase.Init

InitializeComponent() EndSub

#End Region

PrivateSub Page_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) HandlesMyBase.Load

IfNot IsPostBack Then

BindDonVi() End If

EndSub

PrivateSub BindDonVi() Try

Dim dt As DataTable

dt = New DataTable("DSDonViBaoCao")

Dim MaDonVi As DataColumn = New DataColumn("MaDonVi") MaDonVi.DataType = System.Type.GetType("System.String") dt.Columns.Add(MaDonVi)

Dim TenDonVi As DataColumn = New DataColumn("TenDonVi") TenDonVi.DataType = System.Type.GetType("System.String") dt.Columns.Add(TenDonVi)

Dim TongSoCB As DataColumn = New DataColumn("TongSoCB") TongSoCB.DataType = System.Type.GetType("System.Int32") dt.Columns.Add(TongSoCB)

ds.ReadXml("D:\temp\Data.xml") Dim i AsInteger For i = 0 To ds.Tables(0).Rows.Count - 1 If ds.Tables(0).Rows(i).Item("BaoCao") = 1 Then dt.ImportRow(ds.Tables(0).Rows(i)) EndIf Next grdDonVi.DataSource = dt grdDonVi.DataBind() ds.Dispose() Catch ex As Exception

Dim strError AsString = ex.Message End Try

EndSub

PrivateSub grdDonVi_SelectedIndexChanged(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles grdDonVi.SelectedIndexChanged EndSub

EndClass

c. Code form bỏo cỏo ca đơn v

PublicClass DonViBaoCao Inherits System.Web.UI.Page

#Region " Web Form Designer Generated_u67 ?ode "

<System.Diagnostics.DebuggerStepThrough()> PrivateSub InitializeComponent() EndSub

Protected WithEvents Label1 As System.Web.UI.WebControls.Label Protected WithEvents Label3 As System.Web.UI.WebControls.Label Protected WithEvents Label2 As System.Web.UI.WebControls.Label Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox Protected WithEvents Label4 As System.Web.UI.WebControls.Label Protected WithEvents Label5 As System.Web.UI.WebControls.Label Protected WithEvents TextBox3 As System.Web.UI.WebControls.TextBox Protected WithEvents Label6 As System.Web.UI.WebControls.Label Protected WithEvents btnThoat As System.Web.UI.WebControls.Button Protected WithEvents txtMaDonVi As System.Web.UI.WebControls.TextBox Protected WithEvents txtTenDonVi As System.Web.UI.WebControls.TextBox Protected WithEvents txtTSCanBo As System.Web.UI.WebControls.TextBox Protected WithEvents txtSCBBienChe As System.Web.UI.WebControls.TextBox Protected WithEvents btnGuiBaoCao As System.Web.UI.WebControls.Button Protected WithEvents RegTongsoCB As

119

Protected WithEvents ValidationSummary1 As

System.Web.UI.WebControls.ValidationSummary Protected WithEvents RegSoCBbienche As

System.Web.UI.WebControls.RegularExpressionValidator Protected WithEvents CusTongSo As

System.Web.UI.WebControls.CustomValidator

Private designerPlaceholderDeclaration As System.Object

PrivateSub Page_Init(ByVal sender As System.Object, ByVal e As

System.EventArgs) HandlesMyBase.Init

InitializeComponent() EndSub

#End Region

PrivateSub Page_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) HandlesMyBase.Load

IfNot Page.IsPostBack Then

LoadData() End If

LoadErrMessages() EndSub

PrivateSub LoadErrMessages()

RegTongsoCB.ErrorMessage = "Dữ liệu khụng hợp lệ. Xin vui lũng nhập số

nguyờn dương!"

RegSoCBbienche.ErrorMessage = "Dữ liệu khụng hợp lệ. Xin vui lũng nhập số

nguyờn dương!" EndSub

PrivateSub LoadData()

If (Not Request.QueryString("MaDonVi") IsNothing) Then

Try

Dim i AsInteger

Dim ds AsNew DataSet

ds.ReadXml("D:\temp\Data.xml") For i = 0 To ds.Tables(0).Rows.Count - 1 If ds.Tables(0).Rows(i).Item("MaDonVi") = Request.QueryString("MaDonVi") Then txtMaDonVi.Text = Request.QueryString("MaDonVi") txtMaDonVi.ReadOnly = True txtTenDonVi.Text = ds.Tables(0).Rows(i).Item("TenDonVi") txtTenDonVi.ReadOnly = True EndIf Next ds.Dispose()

Catch ex As Exception

Dim strError AsString = ex.Message EndTry

End If

EndSub

PrivateSub btnGuiBaoCao_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnGuiBaoCao.Click

Dim i AsInteger

Dim ds AsNew DataSet Try ds.ReadXml("D:\temp\Data.xml") For i = 0 To ds.Tables(0).Rows.Count - 1 If ds.Tables(0).Rows(i).Item("MaDonVi") = Request.QueryString("MaDonVi") Then ds.Tables(0).Rows(i).Item("MaDonVi") = txtMaDonVi.Text ds.Tables(0).Rows(i).Item("TenDonVi") = txtTenDonVi.Text ds.Tables(0).Rows(i).Item("BaoCao") = 0 ds.Tables(0).Rows(i).Item("NhanBaoCao") = ằ If txtTSCanBo.Text <> "" Then ds.Tables(0).Rows(i).Item("TongSoCanBo") = txtTSCanBo.Text Else ds.Tables(0).Rows(i).Item("TongSoCanBo") = 0 EndIf If txtSCBBienChe.Text <> "" Then ds.Tables(0).Rows(i).Item("SoCBBienChe") = txtSCBBienChe.Text Else ds.Tables(0).Rows(i).Item("SoCBBienChe") = 0 EndIf IfInteger.Parse(txtSCBBienChe.Text) >

Integer.Parse(txtTSCanBo.Text) Then

CusTongSo.ErrorMessage = "Số cỏn bộ biờn chế phải ớt hơn tổng số cỏn bộ" CusTongSo.IsValid = False Return EndIf ds.WriteXml("D:\temp\Data.xml", _ _u32 ?XmlWriteMode.WriteSchema) EndIf Next Catch ex As Exception

Dim err AsString = ex.Message Finally

121

ds.Dispose() End Try

Response.Redirect("DSDonViBaoCao.aspx", True) EndSub

PrivateSub btnThoat_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnThoat.Click

Response.Redirect("DSDonViBaoCao.aspx", True) EndSub

EndClass

d. Code cho chc năng thờm đơn v vào cơ s d liu

Imports System.Xml

Imports System.Text

Imports System.Net

Imports System.IO

PublicClass ThemDonVi

Inherits System.Web.UI.Page

#Region " Web Form Designer Generated_u67 ?ode "

<System.Diagnostics.DebuggerStepThrough()> PrivateSub InitializeComponent() EndSub

Protected WithEvents txtMaDonVi As System.Web.UI.WebControls.TextBox Protected WithEvents txtTenDonVi As System.Web.UI.WebControls.TextBox Protected WithEvents btnThem As System.Web.UI.WebControls.Button Protected WithEvents btnThoat As System.Web.UI.WebControls.Button Protected WithEvents ValidationSummary1 As

System.Web.UI.WebControls.ValidationSummary Protected WithEvents CustomValidator As

System.Web.UI.WebControls.CustomValidator

Private designerPlaceholderDeclaration As System.Object

PrivateSub Page_Init(ByVal sender As System.Object, ByVal e As

System.EventArgs) HandlesMyBase.Init

InitializeComponent() EndSub

#End Region

PrivateSub Page_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) HandlesMyBase.Load

IfNot IsPostBack Then

LoadData() End If

PrivateSub btnThem_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnThem.Click

Dim i AsInteger

Dim strString AsString

Dim ds AsNew DataSet

If (Request.QueryString("Mode") = "AddNew") Then

Dim inputXml AsString

ds.ReadXml("D:\temp\Data.xml")

For i = 0 To ds.Tables(0).Rows.Count - 1

If (txtMaDonVi.Text = ds.Tables(0).Rows(i).Item("MaDonVi")) Then

CustomValidator.ErrorMessage = "Mó đơn vịđó tồn tại. Xin vui lũng nhập mó khỏc!"

CustomValidator.IsValid = False

Return

EndIf

Next

Dim reader As StreamReader = New StreamReader("D:\temp\Data.xml") inputXml = reader.ReadToEnd

reader.Close() Try

inputXml = inputXml.Substring(0, inputXml.IndexOf("</NewDataSet>")) strString = "<part><MaDonVi>"

strString = strString + txtMaDonVi.Text + "</MaDonVi><TenDonVi>" strString = strString + txtTenDonVi.Text +

"</TenDonVi><TongSoCanBo>0</TongSoCanBo>" strString = strString +

"<NhanBaoCao>0</NhanBaoCao><BaoCao>0</BaoCao><SoCBBienChe>0</SoC BBienChe><SoBienCheDG>0</SoBienCheDG></part>"

inputXml = inputXml + strString + "</NewDataSet>" Dim doc As XmlDocument = New XmlDocument doc.LoadXml(inputXml)

doc.Save("D:\temp\Data.xml") Catch ex As Exception

Dim str AsString = ex.Message EndTry Else Try ds.ReadXml("D:\temp\Data.xml") For i = 0 To ds.Tables(0).Rows.Count - 1 If ds.Tables(0).Rows(i).Item("MaDonVi") = Request.QueryString("MaDonVi") Then ds.Tables(0).Rows(i).Item("MaDonVi") = txtMaDonVi.Text ds.Tables(0).Rows(i).Item("TenDonVi") = txtTenDonVi.Text

123 ds.WriteXml("D:\temp\Data.xml", _ _u32 ? XmlWriteMode.WriteSchema) End If Next Catch ex As Exception

Dim err AsString = ex.Message Finally ds.Dispose() EndTry End If Response.Redirect("DonVi.aspx") EndSub

PrivateSub btnThoat_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnThoat.Click

Response.Redirect("DonVi.aspx", True) EndSub

PrivateSub LoadData()

If (Not Request.QueryString("MaDonVi") IsNothing) Then

Try

Dim i AsInteger

Dim ds AsNew DataSet

ds.ReadXml("D:\temp\Data.xml") For i = 0 To ds.Tables(0).Rows.Count - 1 If ds.Tables(0).Rows(i).Item("MaDonVi") = Request.QueryString("MaDonVi") Then txtMaDonVi.Text = Request.QueryString("MaDonVi") txtTenDonVi.Text = ds.Tables(0).Rows(i).Item("TenDonVi") EndIf Next ds.Dispose() Catch ex As Exception

Dim strError AsString = ex.Message EndTry

End If

EndSub EndClass

e. Code cho chc năng tng hp bỏo cỏo

PublicClass TongHopBaoCao Inherits System.Web.UI.Page

<System.Diagnostics.DebuggerStepThrough()> PrivateSub InitializeComponent() EndSub

Protected WithEvents grdBaoCao As System.Web.UI.WebControls.DataGrid Private designerPlaceholderDeclaration As System.Object

PrivateSub Page_Init(ByVal sender As System.Object, ByVal e As

System.EventArgs) HandlesMyBase.Init

InitializeComponent() EndSub

#End Region

PrivateSub Page_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) HandlesMyBase.Load

IfNot IsPostBack Then

BindDonVi() End If

EndSub

PrivateSub BindDonVi() Try

Dim ds AsNew DataSet

ds.ReadXml("D:\temp\Data.xml") grdBaoCao.DataSource = ds grdBaoCao.DataBind() ds.Dispose()

Catch ex As Exception

Dim strError AsString = ex.Message End Try

Một phần của tài liệu Ứng dụng công nghệ hướng đối tượng và XML để phát triển hệ thống trên nền WEB (Trang 108)

Tải bản đầy đủ (PDF)

(135 trang)