Visual Studio .Net cung cấp một môi trường phát triển mức cao để xây dựng các ứng dụng trên .NET framework. Với bộ Visual Studio .NET chúng ta có thể đơn giản hóa việc tạo, triển khai và tiếp tục phát triển các ứng dụng Web và các dịch vụ Web có sẵn một cách an toàn, bảo mật và khả năng biến đổi được. Visual Studio .NET là một bộ đa ngôn ngữ các công cụ lập trình. Ngoài C#(Visual C#.NET), Visual Studio .NET còn hỗ trợ Visual Basic, Visual C++, Visual J#.NET và các ngôn ngữ script như VBScript và Jscript. Tất cả các ngôn ngữ này đều cho phép truy cập vào .NET Framework.
Visual C#.NET là một ngôn ngữ lập trình đơn giản, hiện đại, hướng đối tượng an toàn kiểu (type-safe) và có nguồn gốc từ các ngôn ngữ C và C++. C# là một ngôn ngữ rất thân thiện với người lập trình C và C++. C# là kết quả của việc kết hợp hiệu năng cao của Visual Basic và sức mạnh của C++. C# được Microsoft giới thiệu để xây dựng Web và đòi hỏi quyền được cung cấp một môi trường đồng bộ với HTML, XML và SOAP. Tóm lại C# là một ngôn ngữ lập trình hiện đại và là một môi trường phát triển đầy tiềm năng để tạo ra các dịch vụ Web XML, các ứng dụng dựa trên Microsoft .NET và cho cả nền tảng Microsoft Windows cũng như tạo ra các ứng dụng Internet thế hệ kế tiếp một cách nhanh chóng và hiệu quả.
Visual Basic .NET (VB.NET) cho phép bạn tạo ra những ứng dụng đầy sức mạnh cho nền tảng Microsoft Windows với thời gian ngắn nhất, kết hợp chặt chẽ việc truy cập cơ sở dữ liệu từ một phạm vi rộng của các kịch bản dữ liệu, tạo ra những thành
phần với mã nhỏ nhất và xây dựng các ứng dụng trên cơ sở Web khi sử dụng những kỹ năng hiện tại.VB.NET có nhiều đặc tính ngôn ngữ mới và được cải tiến như sự kế thừa, giao diện và overloading và là cho nó trở thành một ngôn ngữ lập trình hướng đối tượng đầy tiềm năng. Ngoài ra, những người phát triển Visual Basic bây giờ có thể tạo đa luồng(multithreaded). Các nhà phát triển cũng sẽ tìm thấy nhiều đặc tính mới và được cải tiến, ví dụ như các giao diện, những thành viên dùng chung, các constructor cùng với một số kiểu dữ liệu mới, xử lý ngoại lệ có cấu trúc và ủy quyền.
Visual C++.Net là phiên bản kế tiếp của Microsoft Visual C++ 6.0. như chúng ta thấy Microsoft Visual C++ là công cụ C++ hiệu quả nhất để tạo ra những ứng dụng hiệu năng cao cho Windows và cho Wold Wide Web. Hầu như tất cả các phần mềm tốt nhất từ những trình duyệt web đầu bảng cho đến các ứng dụng đều được xây dựng bằng hệ thống phát triển Microsoft Visual C++. Visual C++.NET mang đến một cấp độ mới về hiệu năng so với Visual C++ mà không làm ảnh hưởng đến tính mềm dẻo, hiêuj suất thực hiện cũng như điều khiển.
Visual J#.Net là một công cụ phát triển cho các nhà phát triển ngôn ngữ Java để xây dựng các ứng dụng và các dịch vụ trên nền Microsoft .NET Framework. Visual J#.NET cho phép những người phát triển ngôn ngữ Java có thể chuyển tiếp vào thế giới của các dịch vụ Web XML và cải thiện đáng kể khả năng vận hành của các chương trình viết bằng ngôn ngữ Java với những phần mềm hiện tại được viết bằng nhiều ngôn ngữ lập trình khác nhau. Việc tích hợp dễ dàng, khả năng thao tác vận hành với nhau và sự chuyển giao các kỹ năng hiện tai và những đầu tư mà Visual J#.Net cho phép có thể tạo ra một cơ hội lớn cho khách hàng muốn phát triển các ứng dụng và cthu coi naoác dịch vụ Web XML với ngôn ngữ Java trên nền .NET Framework.
Jscript .NET là bộ thực hiện của Microsoft cho JavaScript. Jscript.NET thêm rất nhiều đặc tính mới và Jscript, bào gồm cả việc hỗ trợ trực tiếp các ký thuật lập trình hướng đối tượng.
Visual Basic.NET (VB.NET) là ngôn ngữ lập trình khuynh hướng đối tượng(Object Oriented Programming Language) do Microsoft thiết kế lại từ con số không. Visual Basic.NET(VB.NET) không kế thừa VB6 hay bổ sung, phát triển từ VB6 mà là một ngôn ngữ lập trình hoàn toàn mới trên nền Microsoft’s.NET Framework. Do đó, nó cũng không phải là VB phiên bản 7. Thật sự, đây là ngôn ngữ lập trình mới và rất lợi hại, không những lập nền tảng vững chắc theo kiểu mẫu đối tượng như các ngôn ngữ lập trình hùng mạnh khác đã vang danh C++, Java mà còn dễ học, dễ phát triển và còn tạo mọi cơ hội hoàn hảo để giúp ta giải đáp những vấn đề khúc mắc khi lập trình. Hơn nữa, dù không khó khăn gì khi cần tham khảo,học hỏi hay đào sâu những gì xảy ra bên trong hậu trường OS, Visual Basic .NET(VB.NET) giúp ta đối phó với các phức tạp khi lập trình trên nền Windows và do đó, ta chỉ tập trung công sức vào các vấn đề liên quan đến dự án, công việc hay doanh nghiệp mà thôi.
Nếu ta để ý tên của Visual Basic.NET(VB.NET), ta thấy ngay ngôn ngữ lập trình này chuyên trị tạo ứng dụng (application) dùng trong mạng, liên mạng hay trong Internet. Một số ưu điểm nổi bật của VB.NET so với VB6:
Namespaces
Namespaces là một cách đặt tên để giúp sắp đặt các Classes ta dùng trong program một cách thứ tự hầu dễ tìm kiếm chúng. Tất cả code trong .NET, viết bằng VB.NET, C# hay ngôn ngữ nào khác, đều được chứa trong một Namespaces. Điểm này cũng áp dụng cho code trong .NET system class libraries. Chẳng hạn các classes của winforms đều nằm trong System.Windowns.Form namespace. Và các classes dùng cho collection như Quêu, Stack,…. Đều nằm trong System.Collections, namespace.
Tất cả code ta viết trong program của mình cũng đều nằm trong các namespaces.
Một thay đổi lớn cho Data Types của VB.NET là những variables dùng Data Type địa phương như Interger, Single, Boolean…. Đều là những Objects. Chúng đều được derived (xuất phát) từ class căn bản nhất tên Object trong VB.NET.
3.2.3. Server Infrastructure(Cơ sở hạ tầng HĐH máy phục vụ)
Cơ sở hạ tầng HĐH máy phục vụ cho .NET bao gồm Window và các .NET Enterprise Server. Đây là một bộ các ứng dụng cơ sở hạ tầng cho xây dựng, triển khai và điều hành các dịch vụ Web XML. Các công nghệ then chốt bao gồm cả việc hỗ trợ XML và những quy trình nghiệp vụ thông qua các ứng dụng và dịch vụ. Các .NET Enterprise Server(hệ điều hành máy chủ phục vụ xí nghiệp) cung cấp khả năng biến đổi, tính tin cậy, quản lý và tích hợp bên trong và nhiều đặc tính khác nữa như được mô tả dưới đây:
Microsoft SQL Server 2000 bao gồm chức năng XML, hỗ trợ các chuẩn của World
Wide Web Consortium, khả năng thao tác dữ liệu XML khi sử dụng Transact SQL(T- SQL), sự phân tích trên nền Web một cách linh hoạt, mạnh và truy cập an toàn dữ liệu của bạn bằng Web có sử dụng HTTP.
Microsoft BizTalk Server 2000 cung cấp việc tích hợp 0các ứng dụng xí
ngiệp(Enterprise Application Integration-EAI),hợp nhất doanh nghiệp B2B và công nghệ BizTalk Orchestration tiên tiến để xây dựng và quản lý các qui trình nghiệp vụ thông qua các ứng dụng và dịch vụ.
Microsoft Host Integration Server 2000 cung cấp biện pháp tốt nhất để quản trị
Internet, Intranet và các công nghệ khách/chủ(client/server) trong khi giữ gìn(bảo toàn) những đầu tư cho các hệ thống tồn tại ban đầu.
Microsoft Exchange 2000 Enterprise Server xây dựng trên công nghệ cộng tác và
trao đổi thông điệp bằng việc giới thiệu một số đặc tính mới quan trọng và xa hơn nữa là tăng thêm độ tin cậy, khả năng tích hợp Exchange 2000 với Microsoft Windows 2000, Microsoft Office 2000 và Internet.
Microsoft Application Center 2000 cho phép tạo ra các giải pháp và cung cấp một sự
triển khai và công cụ quản lý cho các ứng dụng Web có tính sẵn sàng cao. 42
Internet bảo mật, nhanh và khả năng quản lý. An ninh trên Internet và máy phục vụ gia tốc tích hợp một tường lửa xí nghiệp nhiều lớp, có thể mở rộng và một bộ đệm Web hiệu suất cao và có khả năng biến đổi được. Nó xây dựng trên sự bảo mật và thư mục của Windows 2000 cho an ninh trên nền chính sách, gia tốc và quản lý trên mạng.
Microsoft Commerce Server 2000 cung cấp một khung ứng dụng (application
framework), các cơ chế phản hồi tinh vi và những khả năng phân tích.
Mobile Information Server 2001 cho phép sử dụng các ứng dụng thông qua các thiết
bị mobile như là cell-phne chẳng hạn.
3.3. SQL Server 2000.
SQL Server 2000 là một hệ thống quản lý cơ sở dữ liệu(Relational Database
Management System (RDBMS)) sử dụng Transact_SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao gồm databases, databáe engine và các ứng dụng dùng quản lý dữ liệu và các bộ phận khác nhau trong RDBMS. SQL Server 2000 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất
lớn(Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server 2000 có thể kết hợp “ăn ý” với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server… SQL Server có 7 editions:
3.3.1. Các edition.
Enterprise: chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt trên hệ
thống lên đến 32 CPUs và 64 GB RAM. Thêm vào đó nó có các dịch vụ giúp cho việc phân tích dữ liệu rất hiệu quả(Analysis Services).
Standard: Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơn nhiều so với
Enterprise Edition, nhưng nó lại bị giới hạn một số chức năng cao cấp khác, edition này có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GB RAM.
Personal: Được tối ưu hóa để chạy trên PC nên có thể cài đặt trên hầu hết các phiên bản windows kể cả window 98.
Developer: Có đầy đủ các tính năng của Enterprise Edition nhưng được chế tạo đặc
biệt như giới hạn số lượng người kết nối vào Server cùng một lúc….
Deskop Engine(MSDE): Đây chỉ là một engine chạy trên desktop và không có user
interface(giao diện). Thích hợp cho việc triển khai ứng dụng ở máy client. Kích thước database bị giới hạn khoảng 2 GB.
Win CE: Dùng cho các ứng dụng chạy trên Windowns CE..
Trial: Có các tính năng của Enterprise Edition, download free, nhưng giới hạn thời
gian sử dụng.
3.3.2. Các thành phần quan trọng trong SQL Server 2000.
SQL Server 2000 được cấu tạo bởi nhiều thành phần như Relational Database Engine, Analysis Server và English Query…. Các thành phần này khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích dữ liệu một cách dễ dàng.
Relational Database Engine- Cái lõi của SQL Server:
Đây là một engne có khả năng chứa data ở các quy mô khác nhau dưới dạng table và support tất cả các kiểu kết nối(data connection) thông dụng của Microsoft như ActiveX Data Object(ADO), OLE DB and Open Database Connectivity (ODBC). Ngoài ra nó còn có khả năng tự điều chỉnh (tune up) ví dụ như sử dụng thêm các tài nguyên của máy khi cần và trả lại tài nguyên cho hệ điều hành khi một user log off.
Replication – cơ chế tạo bản sao(Replica):
Giả sử bạn có một database dùng để chứa dữ liệu được các ứng dụng thường xuyên cập nhật. một ngày bạn muốn có một cái database giống y hệt như thế trên server khác để chạy báo cáo (report database). Vấn đề là report server của bạn cũng cần phải được cập nhật thường xuyên để đảm bảo tính chính xác của các báo cáo. Bạn không thể
SQL Server sẽ được sử dụng để đảm bảo cho dữ liệu ở 2 database được đồng bộ.
Data Tranformation Service (DTS) – Một dịch vụ chuyển dịch data vô cùng hiệu quả.
Nếu bạn làm việc trong một công ty lớn trong đó data được chứa trong nhiều nơi khác nhau và ở các dạng khác nhau cụ thể như chứa trong Oracle, DB2(của IBM), SQL server, Microsoft Access…. DTS không chỉ hỗ trợ bạn di chuyển database mà còn hỗ cả định dạng (format) database.
Analysis Server – Dịch vụ phân tích dữ liệu. English Query.
Meta Data Service.
SQL Server Books Online.
CHƯƠNG 4: GIỚI THIỆU CHƯƠNG TRÌNH
4.1. Điều kiện và phần mềm ứng dụng đi kèm để sử dụng
Để chương trình có thể chạy được khi cài vào máy mới cần cài đặt một số phần mềm sau: - .NET Framework 2.0 - SQL server 2000 - Crystal Reports - Setup chương trình 4.2. Các lớp chính của chương trình 4.2.1. Lớp kết nối cơ sở dữ liệu
Thực hiện chức năng kết nối tới cơ sở dữ liệu Public Class Connection
Dim LcTen_May As String Dim LcTen_Csdl As String
' tao thuoc tinh de lay gia tri ten server
Public Property McTen_May() As String Get
Return LcTen_May End Get
Set(ByVal value As String) LcTen_May = value End Set
End Property
Public Property McTen_CSDL() As String Get
Return LcTen_Csdl End Get
Set(ByVal value As String)
End Set End Property
Public Function McKet_Noi_Data() As SqlClient.SqlConnection Dim LcCn As New SqlClient.SqlConnection
Dim LcStr_Conn As String = "Data source=" & Me.McTen_May & "; " & "Initial catalog=" & Me.McTen_CSDL & ";" & "password=sa;" & "user id=sa;"
LcCn = New SqlClient.SqlConnection(LcStr_Conn) McKet_Noi_Data = LcCn
End Function End Class
4.2.2. Lớp lựa chọn giá trị
Thực hiện bắt cờ trong các trường hợp thêm, sửa, xóa
Public Class values
Public LcValueID As String Public Property McValueID() Get Return LcValueID End Get Set(ByVal value) LcValueID = value End Set End Property
Public LcRowSelect As Integer Public Property McRowSelect() Get Return LcRowSelect End Get Set(ByVal value) LcRowSelect = value End Set End Property
Public LcColSelect As Integer Public Property McColSelect() Get Return LcColSelect End Get Set(ByVal value) LcColSelect = value End Set End Property
Public LcFlag As String Public Property McFlag() Get Return LcFlag End Get Set(ByVal value) LcFlag = value End Set End Property
Public source As Object Public Property DataSource() Get Return source End Get Set(ByVal value) source = value End Set End Property
Public data As String
Public Property DataMember() Get
Return data End Get
data = value 'Binding()
End Set End Property End Class
4.2.3. Lớp formmain của chương trình
Thực hiện các thao tác chính của chương trình Public Class frmmain
Private px As New frmphuongxa
Private DataConnect As New Connection
Public nodeQh, nodePxa, nodeKPho As TreeNode Public rowQh, rowPxa, rowKpho As DataRow
Private Sub menuitthoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuitemcaidat.Click
Me.Close() End Sub
Private Sub menuitpx_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
frmphuongxa.ShowDialog() Me.px.ListViewpx.Clear() End Sub
Private Sub menuitdantoc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuitdantoc.Click
frmdantoc.ShowDialog() End Sub
Private Sub frmmain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Load_Treeview(Treeviewmain) End Sub
Private Sub menuitnghenghiep_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuitnghenghiep.Click
frmnghenghiep.ShowDialog() End Sub
Private Sub menuittongiao_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuittongiao.Click
frmtongiao.ShowDialog() End Sub
Private Sub menuitquequan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuitquequan.Click
frmquequan.ShowDialog() End Sub
Private Sub menuittrinhdo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuittrinhdo.Click
frmtrinhdo.ShowDialog() End Sub
Private Sub khuphoMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles khuphoMenuItem.Click
'rmkhupho.ShowDialog()
Dim frmkp As New frmkhupho 'frmkp.MdiParent = Me
End Sub
Private Sub menuitemhk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuitemhk.Click
frmchuho.ShowDialog() End Sub
Private Sub menuitemnk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuitemnk.Click
frmnhankhau.ShowDialog()
End Sub
Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Close() End Sub
Private Sub butnhankhau_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
frmnhankhau.ShowDialog() End Sub
Private Sub menuitemthaydoi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuitemthaydoi.Click
frmdoimatkhau.ShowDialog() End Sub
Private Sub menuitemtg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuitemtg.Click
frmtacgia.ShowDialog() End Sub
Private Sub menuitemkhaibao_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuitemkhaibao.Click
frmkhaibaonguoidung.ShowDialog() End Sub
Private Sub menuitemxaclap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuitemxaclap.Click
frmxaclapdv.ShowDialog() End Sub
Private Sub menuthongtindv_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuthongtindv.Click
frmthongtindonvi.ShowDialog() End Sub
Private Sub TheoĐịaBànToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
TheoĐịaBànToolStripMenuItem.Click frmtimkiemdiaban.ShowDialog() End Sub
Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub TToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TToolStripMenuItem.Click
'frmtimkiemtheothongtincanhan.ShowDialog()
frmtimnguoi.ShowDialog()
Private Sub menuitemddcutru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
frmdacdiemcutru.ShowDialog() End Sub
Private Sub menuitempx_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
frmphuongxa.ShowDialog() End Sub
Private Sub menuitemqh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuitemqh.Click
frmquanhuyen.ShowDialog() End Sub
Private Sub menuitempx_Click_1(ByVal sender As System.Object, ByVal e As