Phần mềm xây dựng Website Tuyển Dụng Lao ĐộngTrên Mạng Interne
Lời Cảm Ơn
Em xin chân thành cảm ơn quí thầy cơ đã giúp đỡ em thực hiện đề tài này. Đặc biệt thầy Vũ Thành Nam đã tận tình giúp đỡ, chỉ bảo em. Em xin chân trọng cảm ơn những tình cảm quí báu mà các thầy cơ cùng các bạn đã truyền đạt cho em, những kinh nghiệm, kỹ thuật và cách thức trong việc xây dựng đề tài này.
Tuy nhiên, do thời gian cĩ hạn nên em khơng thể phát huy hết những ý tưởng, khả năng hỗ trợ của ngơn ngữ và kỹ thuật lậ
88 trang |
Chia sẻ: huyen82 | Lượt xem: 1419 | Lượt tải: 0
Tóm tắt tài liệu Phần mềm xây dựng Website Tuyển dụng lao động trên mạng Internet, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
p trình vào đồ án. Trong quá trình xây dựng chương trình, khơng thể tránh khỏi những sai xĩt, mong nhận được sự đĩng gĩp và cảm thơng của quí thầy cơ và các bạn.
Em xin chân thành cảm ơn.
Nguyễn Xuân Trung-Tin quản lý-K44
Chương 2: GIỚI THIỆU VỀ ADO
Tại sao lại sử dụng ADO và ADO là gì:
Trải qua một quá trình phát triển khá dài ,cơng nghệ tin học đã chứng tỏ cơ sở dữ liệu là cực kỳ quan trọng và cần thiết đối với hầu hết các ứng dụng máy tính.KhởI thủy các chương trình đơn giản sử dụng file văn bản (text file) làm nơi lưu dữ liệu .Những ứng dụng hiện đại như Foxpro,Access sử dụng hẳn tập tin với cấu trúc đặc biệt làm nơi chứa dữ liệu .Những file này được gọi là cơ sở dữ liệu .Phát triển hơn nữa ,các hệ cơ sở dữ liệu quan hệ chuyên nghiệp hơn ra đờI phục vụ cho nhu cầu lưu trữ dữ liệu lớn và truy xuất nhanh như SQL Server ,Oracle,DB2,…Khĩ khăn lớn nhất khi lập trình truy cập cơ sở dữ liệu đĩ là cơ chế kết nốI ,đọc và xử lý dữ liệu từ các file của các hệ quản trị cơ sở dữ liệu .Chúng cĩ cấu trúc khác nhau và cĩ cách xử lý riêng biệt .
Điểm chung nhất mà các hệ cơ sở dữ liệu cĩ thể tương đồng đĩ là khả năng sử dụng ngơn ngữ truy vấn chuẩn SQL .Tuy nhiên ,để kết nốI và sử dụng được câu lệnh SQL tác động vào cơ sở dữ liệu ,lập trình viên cần sử dụng các trình điều khiển do mỗI hệ quản trị cơ sở dữ liệu cung cấp .Học cách sử dụng các hàm của trình điều khiển là cơng việc khơng mấy dễ dàng đốI vớI các nhà phát triển ứng dụng .Microsoft đã giảI quyết vấn đề này bằng cách xây dựng một tập các hàm giao tiếp tổng quát (API-Application Programming Interface)dành cho kết nốI và truy xuất dữ liệu .Các hệ dữ liệu muốn những chương trình windows cĩ khả năng truy xuất dữ liệu của mình một cách thống nhất cần viết chương trình điều khiển cài đặt theo giao tiếp của những hàm API này .Đây chính là mơ hình hoạt động của cơ chế cầu nốI ODBC (Open Database Connectivity).ODBC cho phép ứng dụng dùng một cách truy xuất duy nhất kết nốI đến mọI hệ cơ sở dữ liệu .Nĩ được xem là cầu nốI giữa ứng dụng và cơ sở dữ liệu .Sử dụng ODBC lập trình viên khơng cần quan tâm đến sự khác biệt của các hệ dữ liệu .Trình điều khiển ODBC do nhà phát triển hệ dữ liệu cung cấp sẽ chịu trách nhiệm giao tiếp vớI bạn thơng qua ngơn ngữ SQL do các hàm API của Windows quản lý.
Tuy nhiên ,ODBC tỏ ra quá chậm và khơng hiệu quả .Microsoft tiến xa hơn nữa ,xây dựng cầu nốI và tập các hàm truy xuất dữ liệu tổng quát ở dạng đốI tượng gọI là OLEDB .Đây là các đốI tượng xây dựng theo mơ hình Com (Component Object Model) hoạt động gắn liền vớI hệ điều hành ,cho phép truy xuất trực tiếp đến mọI nguồn dữ liệu theo một giao tiếp tổng quát nhất .Tuy nhiên xử dụng OLEDB khá phức tạp ,thường chỉ thuận tiện cho lập trình viên C và C++.ADO(ActiveX Data Object)là lớp đốI tượng đơn giản hĩa hơn cho giao tiếp OLEDB cấp thấp .Thật sự ADO đơn thuần chỉ là đối tượng Com tập chung vào xử lý dữ liệu thơng qua OLEDB của Windows.
Kiến trúc ADO:
Để hiểu rõ cách sử dụng của ADO ta phảI tìm hiểu qua về kiến trúc của ADO hình sau là mơ hình kiến trúc của ADO tương tác giữa ứng dụng và nguồn dữ liệu (data store),khái niệm nguồn dữ liệu là để chỉ mọI loạI dữ liệu và nơi chứa thơng tin cĩ thể truy xuất được .ADO thiết kế cho mục đích truy xuất dữ liệu tổng quát ,khơng chỉ dùng xử lý các hệ cơ sở dữ liệu thuần túy ,bạn cịn cĩ thể dùng ADO để truy xuất dữ liệu email ,dữ liệu file hay bất kỳ loạI dữ liệu nào hỗ trợ cơ chế cho phép giao tiếp thơng qua OLEDB.
Application
Java
Script
VB
VC++
ADO
OLE DB
E-Mail
CSDL
File System
Data store
(Kiến trúc ADO và OLEDB)
Trình tiêu thụ(consumer) và trình cung cấp(provider):
Mơ hình kiến trúc ADO ở hình trên cho thấy cách ADO làm việc nằm giữa tầng ứng dụng và tầng dữ liệu chứa các loạI dữ liệu như E-mail ,dữ liệu file ,cơ sở dữ liệu …Trong thế giớI lập trình chương trình chính là trình tiêu thụ dữ liệu (data consumer)bởI nĩ cần truy xuất vào các nguồn dữ liệu để xử lý ,cịn trình cung cấp dữ liệu là tập lệnh cho phép truy xuất vào nguồn dữ liệu (data store) theo cách đặc trưng của chúng .Provider cho phép giao tiếp giữa nguồn dữ liệu và tầng điều khiển OLE DB .ADO chỉ trao đổI vớI nguồn dữ liệu thơng qua OLE DB mà khơng cần quan tâm đến cách thức làm việc của Provider .Chính điểm này làm cho ADO mang tính tổng quát và khơng phụ thuộc vào nguồn chứa dữ liệu .Để giúp OLE DB biết được Provider nào cần phảI giao tiếp ,khi mở kết nốI ADO ta phảI chỉ định trình cung cấp dữ liệu Provider tương ứng .Microsoft cung cấp sẵn một số Provider cho phép truy xuất dễ dàng vào các nguồn dữ liệu đang thơng dụng như sau:
Jet OLE DB 4.0-Cơ sở dữ liệu MS Access
DTS Packages-Dịch vụ chuyển đổI dữ liệu trong SQL Server
ODBC Driver-Provider cho phép truy xuất nguồn dữ liệu thơng qua ODBC
SQL Server-Cơ sở dữ liệu SQL
Oracle-Cơ sở dữ liệu Oracle
Simple Provider-Truy xuất dữ liệu dạng text
Index Service-Sử dụng cho dịch vụ tìm kiếm site server
Microsoft Directory Service-Sử dụng cho truy xuất dịch vụ thư mục của Windows 2000
Danh sách này sẽ được mở rộng bằng các nhà cung cấp khác.
Trình cung cấp(Provider) và trình điều khiển (driver):
Ta cần phảI phân biệt giữa trình cung cấp và trình điều khiển .Về ý nghĩa thì cả hai đều cĩ mục đích như nhau đĩ là cho phép các chương trình ngồi cũng như hệ điều hành giao tiếp vớI nguồn dữ liệu thơng qua hàm xử lý trực tiếp (native).Tuy nhiên Provider hướng đến tính tổng quát của OLE DB trong khi trình điều khiển cơ sở dữ liệu Driver lạI nhắm vào giao tiếp chung cho thành phần kết nốI theo kiến trúc ODBC .Điều quan trọng đĩ là Provider mang tính tổng quát hơn Driver .Bạn cĩ thể dùng ODBC Provider để truy xuất dữ liệu thơng qua các trình điều khiển Driver cho cơ chế ODBC.Hình sau sẽ minh họa rõ khái niệm này.
Do ODBC đã khá phổ biến và nhiều trình điều khiển hỗ trợ nĩ nên cho đến khi nhà cung cấp đưa ra một Provider mớI tương thích vớI cơ sở dữ liệu của họ ,chúng ta chỉ cĩ cách sử dụng ADO kết nốI vào nguồn dữ liệu thơng qua ODBC Provider .ODBC Provider sẽ chuyển lờI gọI và truy xuất đến tầng ODBC yêu cầu các trình điều khiển Driver bên dướI tiếp cận vớI cơ sở dữ liệu mà nĩ quản lý .
ADO
OLE DB
OLE DB Layer
Oracle
SQL
Jet
ODBC
Oracle
SQL
Jet
SQL
Access
Oracle
SQL
Access
Oracle
(Provider vàDrivers)
Rõ ràng sử dụng ODBC Driver sẽ chậm hơn trình cung cấp OLE DB Provider cho phép truy xuất trực tiếp (do phảI qua lớp trung gian của trình điều khiển ODBC ).Tuy nhiên ODBC Provider giúp ADO tiếp cận vớI mọI nguồn dữ liệu thơng dụng nhất trên Windows dựa vào trình điều khiển ODBC sẵn cĩ trong khi chờ nhà cung cấp đưa ra một phiên bản tiếp cận vớI dữ liệu bằng OLE DB Provider khác.
2.Mơ hình đối tượng ADO 2.5:
Hình sau mơ tả mối quan hệ giữa các đối tượng ADO .Trước khi tìm hiểu cách sử dụng chi tiết những đối tượng này trong trang ASP ta sẽ xem qua tổng quan và mục đích sử dụng của chúng.
2.1. Đối tượng Connection(kết nối):
Đối tượng Connection cho phép thực hiện việc mở kết nối đến nguồn dữ liệu cần truy xuất.Thơng qua đối tượng Connection ta chỉ định trình cung cấp OLE DB Provider sẽ dùng để tiếp cận dữ liệu .Các thơng tin kết nối bổ sung khác như: Tên đăng nhập cơ sở dữ liệu (username),mật khẩu(password),tên máy chủ(Server)…Tất cả những thơng tin này thường được lưu vào một chuỗi gọi là chuỗi kết nối (connection string).Một lưu ý là để kết nốI và truy xuất vào nguồn dữ liệu ,khơng bắt buộc phảI tạo ra đốI tượng Connection .Các đốI tượng như Command ,Recordset,Record…cũng cho phép mở trực tiếp kết nốI .Tuy nhiên sử dụng đốI tượng Connection sẽ cho phép ta tách biệt thao tác kết nốI và thao tác truy xuất dữ liệu ,hơn nữa đốI tượng Connection cịn cung cấp thêm một số chức năng chuyên dụng khác như cho phép thực thi câu lệnh SQL tác động lên dữ liệu (Insert,Update,Delete,gọI thủ tục nộI Store Procedure…)hoặc kiểm sốt giao tác (transaction) như Rollback(hủy mọi thay đổi lên dữ liệu ),Commit(xác nhận thay đổi)…
2.2. Đối tượng Command (lệnh thực thi):
Mặc dù ta cĩ thể sử dụng đốI tượng Connection để thực hiện các lệnh SQL ,nhưng tốt nhất ta chỉ nên dùng đốI tượng Connection cho mục đích kết nốI .ĐốI tượng Command sẽ được dùng cho mục đích thực thi lệnh tốt hơn.Khi đốI tượng Connection thực thi lệnh ,mặc định Connection sẽ khởI tạo và gọI đến đốI tượng Command.
ĐốI tượng Command cho phép chuyển tham số vào các lệnh thực thi SQL .Tham số cĩ thể chỉ định kiểu và giá trị tường minh .Các tham số cĩ thể nhận trị trả về sau khi thực thi…ĐốI tượng Command cĩ thể dùng cho hai mục đích:Thực thi các lệnh SQL khơng cần nhận kết quả trả về(như Insert,Update,Delete,Các thủ tục Store Proceduce)hoặc thực thi các lệnh trả về tập Recordset như lệnh Select.
2.3.Đối tượng Recordset(tập các mẩu tin):
Recordset cĩ thể nĩi là đốI tượng được sử dụng thường xuyên nhất trong ADO .ĐốI tượng này cung cấp cho ta kết quả trả về từ câu lệnh truy vấn một tập các mẩu tin .Trang ASP cĩ thể dùng vịng lặp duyệt qua các mẩu tin này và hiển thị dữ liệu kết xuất ra trang web phía trình duyệt .Ngồi ra Recordset cịn cho phép lọc dữ liệu (filter)từ tập các mẩu tin ,truy xuất đến từng trường cụ thể của mẩu tin thơng qua đốI tượng Field hoặc danh sách các trường trong trong mẩu tin thơng qua đốI tượng Fields.
2.4.Đối tượng Record (mẩu tin):
ĐốI tượng Record cho phép ta truy cập chi tiết đến thơng tin của từng mẩu tin .Thật sự nếu chỉ dùng đến loạI dữ liệu dạng bảng của cơ sở dữ liệu thì cĩ thể khơng cần dùng đến đốI tượng Record .Tuy nhiên đốI tượng Record giúp ta truy xuất tổng quát đến mọI nguồn dữ liệu khơng riêng gì dữ liệu bảng .Hãy hình dung nếu ta muốn truy xuất nộI dung của nguồn dữ liệu là thư mục thì sao?Thư mục cĩ thể xem là một bảng dữ liệu vớI danh sách file là các mẩu tin (Record ).Tuy nhiên ,mỗI mẩu tin của file trong thư mục khơng đơn thuần chỉ chứa các trường như tên file ,ngày giờ tạo file,kích thước file …Thơng tin về mỗI mẩu tin biểu diễn cho file cĩ thể khác nhau về quyền truy xuất trên file ,nộI dung file.ĐốI tượng Record sẽ giúp thể hiện sự khác biệt này của từng mẩu tin thơng qua phương thức và thuộc tính .Nếu chỉ sứ dụng và truy xuất mẩu tin thơng qua Recordset theo cách thơng thường bạn sẽ khơng xử lý được .
2.5.Đối tượng Stream(Luồng):
ĐốI tượng Stream cho phép biểu diễn nộI dung của một nút (node)dữ liệu .Cụ thể thơng qua Stream ,bạn cĩ thể xem và truy xuất được các loạI dữ liệu nhị phân khơng thuộc dạng bảng như nộI dung file,e-mail,trang web,dữ liệu XML…ĐốI tượng Stream thường được kết hợp xử lý thơng qua đốI tượng Record và Recordset
2.6.Đối tượng Collections(Tập hợp):
Thư viện ADO cung cấp rất nhiều loạI tập hợp .MỗI tập hợp cĩ thể nắm giữ một hoặc nhiều đốI tượng khác thậm chí cĩ thể là một tập hợp rỗng khơng chứa phần tử nào cả.Bạn cĩ thể dùng vịng lặp để duyệt qua các phần tử trong tập hợp theo cấu trúc sau:
ĐốI với VBScript:
For each Object In Collection
‘Sử lý nộI dung của phần tử đốI tượng Object trong tập hợp
Next
Ví dụ để duyệt qua tập hợp Fields chứa các trường trong recordset mang tên rs
For each objField In rs.Fields
Reponse.write objField.Name &””
Next
Thư viện ADO cung cấp các tập hợp thường xuyên sử dụng là :
Đối tượng tập hợp Fields:Chứa danh sách các trường trong bảng dữ liệu
ĐốI tượng tập hợp Parameters:Chứa danh sách các tham số sử dụng trong câu lệnh SQL
Đối tượng tập hợp Errors:Chứa danh sách các lỗi ,ta cĩ thể duyệt qua đối tượng tập hợp Errors để biết các lỗi mà các đối tượng ADO gặp phải trong quá trình triệu gọi hoặc thực thi lệnh .
Đối tượng tập hợp Properties:Chứa danh sách các thuộc tính cĩ thể dùng chung giữa các đối tượng .
2.7.Các hằng ADO:
Khi sử dụng ADO ,ta sẽ cần dùng đến rất nhiều loại hằng số để thiết lập cho các tham số tùy chọn dành cho phương thức của đối tượng .Ví dụ cursor type,Lock type.ASP khơng tự động định nghĩa sẵn các hằng này.Ta dùng chỉ thị để khai báo đưa vào danh sách các hằng ADO cần sử dụng .Một cách khác để khai báo hằng là tham chiếu trực tiếp đến thư viện định nghĩa kiểu (type library)bằng thẻ METADATA như sau:
3.Kết nối với nguồn dữ liệu:
3.1.Chuỗi kết nối :
Chuỗi kết nối như đã đề cập ở phần trên ,nĩ cung cấp thơng tin cho đối tượng Connection biết đặc điểm của cơ sở hay nguồn dữ liệu mà ADO cần truy xuất ,dưới đây là một số kết nối đến các loại cơ sở dữ liệu thơng dụng:
Cơ sở dữ liệu MS Access
Connstr=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=””
Set conn=Server.CreateObject(“ADODB.Connection”)
Conn.open connStr
Cơ sở dữ liệu MS SQL Server
Connstr=”Provider=SQLOLEDB;Data Source=servername; Initial catalog=database_name;user ID=user_name;PWD=user_password”
Set conn=Server.CreateObject(“ADODB.Connection”)
Conn.open Connstr
Cơ sở dữ liệu Oracle:
ADODB hỗ trợ truy xuất cơ sở dữ liệu nổi tiếng Oracle thơng qua chuỗi kết nối OLEDB như sau :
connstr=”Provider=MSDAORA.1;Data Source=orcl;User ID=scott;PWD=;Persist Security Info=False”
Set conn=Server.CreateObject(“ADODB.Connection”)
Conn.open connstr
Cơ sở dữ liệu MS Access thơng qua trình điều khiển ODBC
ConnStr=”Driver=Microsoft Access Driver(*.mdb);DBQ=database path”
Set Conn=Server.CreateObject(“ADODB.Connection”)
Conn.open ConnStr
Nếu nguồn dữ liệu khơng hỗ trợ OLE DB ta cĩ thể sử dụng ADO thơng qua ODBC theo cách tổng quát :
Kết nối tổng quát thơng qua ODBC:
<%
strconn =”Provider=MSDASQL.1;Persist Security Info=False;Data Source=database_name”
%>
set conn=Server.CreateObject(“ADODB.Connection”)
conn.open connstr
3.2.Sử dụng chỉ thị include:
Thơng thường hầu hết các trang ASP sử dụng đối tượng Connection và Recordset đều mở kết nối theo cùng cách .Để tránh lập lại mã ,ta cĩ thể đưa các lệnh tao Connection và Recordset vào một trang riêng ,tiếp đến dùng chỉ thị include để đưa trang này vào các trang ASP sử dụng ADO khác.Một cách làm khác là lưu chuỗi kết nối trong trong biến tồn cục Application của file global.asa sao cho tất cả các trang ASP khác đều thấy và truy xuất được .Ví dụ:
Sub Application_Onstart()
Strconn=”Provider=SQLOLEDB.1; Data Source=local host;User ID=sa;PWD=;Initial Catalog=database_name”
Set Application(“ConnectionString”)=Strconn
End sub
Tiếp đến trong trang ASP ta tạo đối tượng Connection và gọi kết nối như sau:
Set conn=server.CreateObject(“ADODB.Connection”)
Conn.open Application(“ConnectionString”)
3.3.Đĩng và chia sẻ kết nối (Share Pooling):
Sau khi mở kết nối và xử lý xong dữ liệu ta nên đĩng kết nối lại bằng cách gọi phương thức close của đối tượng Connection như sau:
Set conn=server.CreateObject(“ADODB.Connection”)
Conn.open strconn
‘Xử lý truy xuất dữ liệu
‘Ví dụ
‘rs.open “SELECT * PRODUCTS”,conn
‘Đĩng kết nối
Conn.close
Đĩng kết nối sẽ giải phĩng tài nguyên giúp cơ sở dữ liệu thao tác và xử lý nhanh hơn .Thực tế khi ta gọi phương thức close của đối tượng Connection ,kết nối sẽ được trả về cho bộ quản lý tài nguyên .Do việc mở một kết nối chiếm nhiều tài nguyên cũng như địi hỏi hệ thống phải quản lý chặt chẽ .Một khi kết nối được mở nĩ sẽ giữ nguyên và hoạt động trong suốt ứng dụng ,mỗi thời điểm chỉ cĩ một trang là được chiếm giữ kết nối (Bằng cách gọi phương thức open của đối tượng Connection ).Nếu đã hồn tất quá trình xử lý liên quan đến cơ sở dữ liệu ,ta nên gọi phương thức close càng sớm càng tốt để trả kết nối về cho hệ thống phục vụ các trang khác.Nếu khơng gọi phương thức close ,kết nối sẽ bị chiếm giữ cho đến khi tồn bộ nội dung của trang được thực thi xong .Khi đĩ nếu cĩ một trang khác cần kết nối vào cơ sở dữ liệu hệ thống phải sử dụng thêm tài nguyên để tạo kết nối mới .Cơ chế dùng chung kết nối được gọi là Share Pooling.Chúng rất được quan tâm trong mơi trường ứng dụng cơ sở dữ liệu với số lượng người dùng và yêu cầu xử lý lớn
4.Sử dụng Recordset :
4.1.Tạo Recordset:
Cĩ thể nĩi Recordset là đối tượng được sử dụng thường xuyên nhất trong ADO .Recordset cho phép xem và trích rút dữ liệu theo dạng bảng .Mặc dù đối tượng Connection cũng cĩ khả năng thực thi câu lệnh SQL và trả về tập dữ liệu tương tự Recordset nhưng sử dụng Recordset hiểu quả và linh động hơn .Đối tượng Recordset được tạo ra như sau:
Set rs=server.createobject(“ADODB.recordset”)
Để trích rút dữ liệu từ một bảng nào đĩ trong cơ sở dữ liệu ,thường ta kết hợp đối tượng Connection vào câu lệnh SQL Select trong phương thức open của đối tượng Recordset .
4.2.Duyệt qua các mẩu tin trong Recordset:
Để đi đến từng mẩu tin trong Recordset chúng ta dùng vịng lặp While và kiểm tra xem đã đến mẩu tin cuối cùng chưa dựa vào thuộc tính EOF
4.3.Truy xuất các trường của mẩu tin:
Ta cĩ thể chỉ định trực tiếp tên trường cần truy xuất ngay trong đối tượng Recordset.Tuy nhiên ta cũng cĩ thể sử dụng đối tượng tập hợp Fields để truy xuất nội dung của một trường trong mẩu tin theo nhiều cách
4.4.Lọc các mẩu tin trong Recordsets:
Điều kiện lọc các mẩu tin(Chỉ chọn ra các mẩu tin thỏa điều kiện nhất định)cĩ thể thực hiện ngay trong mệnh đề Where của câu lệnh SQL khi gọi phương thức open của Recordset .Ví dụ:
Hoặc ta cĩ thể sử dụng thuộc tính lọc(Filter) của Recordset để chỉ định điều kiện lọc sau khi đã trích xuất dữ liệu .Ví dụ:
Thuộc tính Filter cho phép sử dụng các mệnh đề lọc tương tự mệnh đề Where của câu lệnh SQL
4.5.Tìm kiếm trên Recordset :
Để tìm kiếm trên recordset ta cĩ thể sử dụng phương thức find .Ví dụ để tìm sản phẩm mang mã số ‘11’trong recordset ta gọi phương thức find như sau:
Rs.find “Productcode=’11’
Tuy nhiên trong thực tế find ít được sử dụng đến .Để tìm một mẩu tin thực tế ,câu lệnh SQL được sử dụng trực tiếp dựa vào mệnh đề Where .Ví dụ:
Thuộc tính lọc cũng cĩ thể được sử dụng cho mục đích tìm kiếm mẩu tin trên Recordset.
5.Hiệu chỉnh các mẩu tin:
Cĩ hai cách thực hiện việc hiệu chỉnh các mẩu tin trong bảng dữ liệu (Bao gồm các thao tác như tạo mới mẩu tin ,thay đổi nội dung mẩu ,xĩa mẩu tin ):Thứ nhất dựa vào các phương thức AddNew,Update,Delete của đốI tượng Recordset .Thứ hai là triệu gọi các câu lệnh SQL trực tiếp như INSERT,UPDATE,DELETE thơng qua đối tượng Command hoặc Connection.Ví dụ:
6.Thực thi câu lệnh SQL với tham số bằng đối tượng Connection và Command:
6.1.Thực thi lệnh bằng Connection và Command:
Ngồi việc thực thi các câu lệnh SQL khơng trả về kết quả như INSERT,UPDATE,DELETE đối tượng connection cịn cĩ thể truy vấn dữ liệu SQL bằng câu lệnh SELECT .Thực tế ta cĩ thể gọi đối tượng connection thực thi lệnh SELECT trả về tập Recordset như sau :
Set rs=conn.execute(“Câu lệnh SQL”)
Tuy nhiên đối với câu lệnh SELECT ,phương thức open của đối tượng recordset lại sử dụng thường xuyên và hiểu quả hơn (thực tế khi thực hiện lệnh SELECT đối tượng Connection tự động tạo ra đối tượng Recordset ẩn danh).
Ta cĩ thể sử dụng đối tượng thực thi lệnh Command thay cho Connection .Đối tượng Command cho phép thực thi tất cả các lệnh SQL và các thủ tục Store Procedure của cơ sở dữ liệu .
Tạo và sử dụng đối tượng Command như sau :
6.2 Thực thi lệnh SQL vớI tham số :
Trường hợp thủ tục Store Procudure hoặc câu lệnh SQL yêu cầu tham số như trường hợp sau :
CREATE PROCEDURE update_account
@m_password VARCHAR(10),
@m_username VARCHAR(10)
AS
UPDATE password SET password=@m_password
WHERE username=@m_username
Ở đây @m_password và @m_username là các tham số truyền vào từ bên ngồi khi thủ tục được gọi .Bằng cách sử dụng đối tượng command ,ta cĩ thể tạo ra đối tượng parameters và thêm vào tập hợp các giá trị tham số trước khi thực thi thủ tục như:
‘Tạo và gán giá trị cho tham số :
set user=CmdUpdate.CreateParameter(“@m_username”,adVarchar,adParamInput, ,”mkuser”)
set pwd=CmdUpdate.CreateParameter(“@m_password”,adVarchar,adParamInput, ,”newpassword”)
‘Đưa tham số vào đốI tượng command
cmdUpdate.Parameters.Append user
cmdUpdate.Parameters.Append pwd
‘Thực thi câu lệnh
cmdUpdate.CommandText=”update_account”
cmdUpdate.CommandType=adCmdStoredProc
cmdUpdate.execute
7.Phân trang với đối tượng Recordset:
Khi trích rút dữ liệu bằng đối tượng Recordset hồn tất,ta thường dùng vịng lặp While để duyệt qua các mẩu tin(record)nhằm kết xuất thơng tin trong các trường gửi về trình khách .Trong trường hợp kết quả mà Recordset trả về cĩ khá nhiều mẩu tin mà ta chỉ muốn cho người dùng xem mỗi trang một số lượng nhất định các mẩu tin ,ví dụ như ,nếu recordset trả về kết quả bao gồm cĩ 1000 mẩu tin mà ta chỉ muốn hiển thị phía trình khách mỗi lần 15 hoặc 20 mẩu tin mà thơi .Nếu người dùng muốn xem tiếp họ cĩ thể click vào các liên kết để đi đến trang kế tiếp (next)hoặc trở về các mẩu tin đã xem trước đĩ (previous).Phân trang khi hiển thị các mẩu tin là cơng việc thường xuyên phải làm đối với các ứng dụng cần phải trình bày khối lượng dữ liệu lớn.Đối tượng Recordset cung cấp cho ta ba thuộc tính quan trọng sau đây để sử dụng cho việc phân trang:
PageSize:Kích thước mẩu tin trong một trang
PageCount:Tổng số trang Recordset truy vấn được
AbsolutePage:Chỉ định trang hiện hành đang cần đọc thơng tin
Để Recordset cĩ khả năng phân trang ,ta cần thiết lập thêm tham số cho Recordset trước khi thực hiện truy vấn.
Rs.CursorLocation =3 ‘Cĩ thể sử dụng hằng adUseClient
Rs.pageSize =15 ’15 record trong một trang
Tiếp theo ta mở đối tượng Recordset truy vấn dữ liệu với tùy chọn là các hằng adOpenForwardOnly(0),adLockReadOnly(1) truyền cho phương thức Open như sau :
Rs.Open sqlStr,conn,0,1
Cơng việc sau cùng là định vị trang cần hiển thị thơng qua thuộc tính AbsolutePage.Chúng ta lưu lại vị trí hiện hành của trang dữ liệu thơng qua giá trị chứa trong thẻ <input hidden).Giá trị này sẽ được chuyển về trình chủ mỗi khi người dùng click vào Hyperlink Next hoặc Previous di chuyển giữa các trang .Ví dụ:
8.Quản lý lỗi khi sử dụng các đối tượng ADO:
Trong quá trình triệu gọi các đối tượng ADO ta cĩ thể gặp các lỗi như kết nối khơng hợp lệ ,câu lệnh SQL truy vấn khơng đúng cú pháp …Để đĩn bắt lỗi ,cách tốt nhất là sử dụng lệnh On Error Resume Next ,tiếp đến duyệt qua đối tượng tập hợp Errors để biết được thơng tin lỗi .Ví dụ ,đối tượng Recordset sau đây sử dụng lệnh SELECT truy vấn cột dữ liệu khơng cĩ thật ,khi lỗi phát sinh ,hàm CheckForErrors sẽ duyệt qua đối tượng ActiveConnection in ra thơng báo lỗi .
<%
On Error Resume Next
…
set rs=Server.CreateObject(“ADODB.Recordset”)
sqlStr=”SELECT x,y,username FROM Accounts”
‘Cột dữ liệu x,y khơng cĩ thật trong bảng Accounts
rs.open sqlStr ,conn
if CheckForErrors(rs.ActiveConnection)=False then
Reponse.Write “Query Success”
End if
%>
Hàm CheckForErrors được xây dựng như sau:
<%
Function CheckForErrors(objConn)
‘Nếu cĩ lỗi
If objConn.Errors.count >0
For Each E in objConn.Errors
Reponse.Write E.source + E.Description+””
Next
End if
End Function
%>
Chương III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
1.PHÂN TÍCH HỆ THỐNG:
1.1Khảo sát yêu cầu :
1.1.1Yêu cầu của một trang web tuyển dụng lao động:
Xây dựng một trang web tuyển dụng lao động trên mạng internet là đề tài trong đĩ chủ yếu là xử lý quy trình đăng thơng tin (thơng tin tìm việc,thơng tin tuyển dụng),lưu trữ và hiển thị thơng tin của người lao động cĩ nhu cầu tìm việc và của các nhà tuyển dụng lao động lên mạng internet.Ta cĩ thể hiểu quy trình này gần giống như quy trình người lao động tìm việc thơng qua các cơng ty mơi giới việc làm ,cũng như quy trình khi các nhà tuyển dụng thơng qua các trung tâm mơi giới việc làm để tuyển người lao động .Qua internet khách hàng(người tìm việc,nhà tuyển dụng),thực hiện việc đăng ký tài khoản trên web site bằng cách nhập vào các thơng tin cần thiết trên web site,sau đĩ website sẽ dựa vào các thơng tin này(địa chỉ email),để gửi đến người dùng một thư điện tử cĩ chức năng kích hoạt tài khoản đã đăng ký,sau khi kích hoạt tài khoản ,khách hàng (người tìm việc,nhà tuyển dụng),sẽ cĩ thể thực hiện các chức năng như:Đăng tải thơng tin (thơng tin tìm việc,thơng tin tuyển dụng) lên website,cập nhật các thơng tin đã đăng ký.Ngồi ra vì đây là một website thương mạI cho nên nĩ phảI được thiết kế sao cho khơng những dễ sử dụng ,khơng cĩ các thao tác thừa mà cịn hấp dẫn được ngườI truy cập,thể hiện ở cách trình bày website và nội dung của nĩ .Ta cĩ thể phân tích các vấn đề sau:
1.1.2Phân tích hoạt động của website:
Hoạt động của website bao gồm 3 hoạt động chính:
-Hoạt động của khách hàng(người tìm việc,nhà tuyển dụng)
-Hoạt động của nhà quản lý(người thuộc trung tân việc làm)
-Hoạt động của nhà quản trị website
1.Hoạt động của khách hàng:
Một khách hàng(người tìm việc,nhà tuyển dụng) khi tham quan website,họ sẽ tìm kiếm các thơng tin về việc làm mà họ quan tâm(thơng tin về các cơng ty tuyển dụng,thơng tin về người lao động..vv),sau đĩ họ cĩ thể thực hiện việc đăng ký tài khoản ,để sau đĩ cĩ thể đăng tin tìm việc,hoặc thơng tin tuyển dụng lên website.Do đĩ để đáp ứng các nhu cầu trên của khách hàng website phải cung cấp các thơng tin cần thiết ,cĩ giá trị và hơn thế nữa dễ thao tác,ngồi ra chức năng tìm kiếm là khơng thể thiếu để khách hàng cĩ thể dễ dàng tìm kiếm các thơng tin mà mình cần tìm,các chức năng phụ khác như hỗ trợ gõ tiếng việt khi đăng tin..vv cũng sẽ làm tăng thêm ấn tượng của khách hàng đối với website:
Hoạt động của khách hàng bao gồm :
Duyệt website(Xem tin tức,tìm kiếm thơng tin) Đăng ký tài khoản Kích hoạt tài khoản Đăng tải thơng tin lên website Cập nhật thơng tin(Thêm ,xĩa sửa các thơng tin về tuyển dụng,thơng tin tìm việc,mật khẩu đăng nhập)
2.Hoạt động của nhà quản lý:
Nhà quản lý ở đây là người thuộc trung tâm việc làm (chủ sở hữu website),các hoạt động chính của nhà quản lý đĩ là:
-Gửi thư:Sau khi đăng nhập vào website bằng tài khoản được cấp bởi người quản trị website ,nhà quản lý cĩ thể thực hiện việc gửi thư điện tử cho các ứng viên tìm việc và các nhà tuyển dụng.
-Đăng tin việc làm:Sau khi đăng nhập người quản lý cĩ thể thực hiện chức năng đăng thơng tin tuyển dụng lên website
-Cập nhật thơng tin việc làm:Sau khi đăng nhập người quản lý cĩ thể thực hiện việc cập nhật các thơng tin tuyển dụng mà mình đã đăng
Sơ đồ mơ tả:
Đăng nhập website Gửi thư(cho ứng viên tìm việc,hoặc nhà tuyển dụng)
Đăng thơng tin tuyển dụng
Cập nhật thơng tin tuyển dụng
3.Hoạt động của nhà quản trị:
Các hoạt động của nhà quản trị bao gồm:
-Gửi mail:Người quản trị cĩ thể gửi thư đến các ứng viên tìm việc hoặc nhà tuyển dụng
-Quản lý CSDL:Người quản trị cĩ thể thực hiện các thao tác thêm xĩa ,sửa ,sao lưu ,phục hồi các bảng trong cơ sở dữ liệu
-Sao lưu CSDL:Người quản trị cĩ thể thực hiện việc sao lưu cơ sở dữ liệu
-Phục hồi cơ sở dữ liệu:Người quản trị cĩ thể thực hiện chức năng phục hồi cơ sở dữ liệu từ các file đã sao lưu
-Quản lý thơng tin của website:Người quản trị cĩ khả năng và quyền hạn để quản lý mọi thơng tin của website,từ các thơng tin chung như:Các thơng tin về việc làm do nhà quản lý đưa lên,các thơng tin về các lĩnh vực khác(thể thao,văn hĩa,..vv),các thơng tin được đưa lên bởi các khách hàng đã đăng ký tài khoản(thơng tin tuyển dụng,thơng tin tìm việc)
1.2.Phân tích hệ thống về xử lý:
1.2.1Sơ đồ phân cấp chức năng:
Qua phân tích hoạt động của website ở phần trên .Đầu tiên ta coi cả hệ thống là một chức năng ,sau đĩ phân rã dần mỗi chức năng lớn thành những chức năng nhỏ hơn ,ta cĩ sơ đồ phân cấp chức năng như sau:
Website tuyển dụng lao động
Chức năng nhà quản trị
Chức năng người quản lý
Chức năng khách hàng
Đăng ký tài khoản
Cập nhật thơng tin
Phản hồi(thắc mắc,gĩp ý)
Gửi thư
Đăng tin việc làm
Cập nhật tin việc làm
Sao lưu CSDL
Phục hồi CSDL
Quản lý cơ sở dữ liệu
Gửi thư
Quản lý thơng tin website
Sơ đồ chức năng khách hàng:
Khách hàng
Đăng ký tài khoản
Cập nhật thơng tin
Phản hồi(thắc mắc,gĩp ý)
Cập nhật thơng tin tuyển dụng,thơng tin tìm việc
Cập nhật thơng tin đăng ký
Cập nhật mật khẩu đăng nhập
Sơ đồ chức năng của nhà quản lý:
Người quản lý
Gửi thư
Đăng tin việc làm
Cập nhật tin việc làm
Sơ đồ chức năng nhà quản trị:
Nhà quản trị
Gửi thư
Sao lưu CSDL
Phục hồi CSDL
Quản lý thơng tin website
Quản lý thơng tin việc làm
Quản lý thơng tin khác(thơng tin về xã hội ,thể thao,thời tiết..)
Quản lý thơng tin khách hàng(Ứng viên ,nhà tuyển dụng)
Quản lý các thơng tin về việc làm(Cẩm nang tìm việc,thơng tin tuyển dụng do nhà quản lý đưa lên)
Quản lý CSDL
Sơ đồ luồng dữ liệu(DFD):
Sơ đồ luồng dữ liệu thể hiện sự trao đổi dữ liệu giữa hệ thống và mơi trường ngồi cũng như giữa các thành phần bên trong hệ thống.Sơ đồ luồng dữ liệu được chia làm nhiều mức tương ứng với từng cấp của sơ đồ phân cấp chức năng.
Sơ đồ luồng dữ liệu mức khung cảnh (Hay DFD mức 0)tương ứng với mức 0 của Sơ đồ phân cấp chức năng.Cả hệ thống được coi như một hộp đen ,ta chỉ quan tâm đến các thơng tin đầu vào và các thơng tin đầu ra.Đối với đề tài này thì đây chính là các luồng dữ liệu giữa hệ thống và các tác nhân :Khách hàng(Ứng viên tìm việc,nhà tuyển dụng),nhà quản lý,nhà quản trị website.Tương ứng với mức một của sơ đồ phân cấp chức năng là sơ đồ luồng dữ liệu mức đỉnh .Ở đây gồm các hoạt động như:
Sơ đồ luồng dữ liệu mức dưới đỉnh tương ứng với mức 2 của sơ đồ phân cấp chức năng.Sau đây là các sơ đồ:
Các ký hiệu được dùng:
:Tác nhân
:Chức năng
Tên :Tệp dữ liệu
:Luồng dữ liệu
1.Sơ đồ luồng dữ liệu mức khung cảnh(DFD mức 0):
Nhà quản lý
Khách hàng
(Ứng viên,nhà tuyển dụng)
Đăng ký tài khoản
Thơng tin cần tìm
(
Thơng tin việc làm,các thơng tin khác
Thơng tin Cập nhật tin tuyển dụng
tuyển dụng
Website Tuyển dụng lao động
send mail
Thơng tin phản hồi
Thơng tin về tài khoản
Cập nhật thơng tin (tuyển dụng,tìm việc..vv) Cập nhật thơng tin KH
Nhà quản trị website
Send mail
Cập nhật thơng tin website
2.Sơ đồ luồng dữ liệu mức đỉnh(DFD mức 1):
Khách hàng
(Ứng viên,Nhà tuyển dụng)
Nhà quản lý
Nhà quản trị website
3.Cập nhật thơng tin
5.Đăng tin việc làm
8.Send mail
2.Send mail
7.Cập nhật thơng tin website
6.Cập nhật tin tuyển dụng
1.Đăng ký tài khoản
Yêu cầu cập nhật
11.Quản lý CSDL
9.Sao lưu CSDL
10.Phục hồi CSDL
Phản hồi
Đăng ký Tin tuyển dụng
4.Send mail
Tài khoản
Cập nhật thơng tin
Khách hàng
Thơng tin liên hệ
Thơng tin mật khẩu
Tin tuyển dụng
Tin tuyển dụng Tuyền dụng
Thơng tin khác
Thơng tin KH
Tin tuyển ._.
Các file đính kèm theo tài liệu này:
- P0092.doc