Biến toàn cục – Session và Application

Một phần của tài liệu Giáo trình lập trình cơ sở dữ liệu (Trang 97 - 101)

- Về thái độ:

3 Biến toàn cục – Session và Application

Application và Session là 2 đối tượng khá quan trọng trong ứng dụng web, giúp các trang aspx có thể liên kết và trao đổi dữ liệu cho nhau. Trong phần này, chúng ta sẽ tìm hiểu và sử dụng 2 đối tượng này trong ứng dụng.

3.1 Đối tượng Application

Đối tượng Application được sử dụng để quản lý tất cả các thông tin của một ứng dụng web. Thông tin được lưu trữ trong đối tượng Application có thể được xử lý trong bất kỳ trang aspx nào trong suốt chu kỳ sống của ứng dụng.

Sử dụng biến Application

Tạo biến Application

Application("Tên biến") = <giá trị> Lấy giá trị từ biến Application <biến> = Application("Tên biến") Ví dụ: Application.Lock() Application("So_lan_truy_cap") = 0 Application("So_nguoi_online") = 0 Application.UnLock() Chú ý:

Do tại một thời điểm có thể có nhiều người cùng lúc truy cập và thay đổi giá trị của các thông tin được lưu trong đối tượng Application, chúng ta nên sử dụng bộ lệnh Lock và UnLock ngay trước và sau khi cập nhật giá trị của biến Application. Biến Application có thể được sử dụng ở bất kỳ trang nào và được duy trì trong suốt chu kỳ sống của ứng dụng.

Duyệt qua tập hợp biến chứa trong Application Dim i As Integer

Response.Write("<b><u>Danh sách các biến trong đối _ tượng Application</u></b><br>")

For i = 0 To Application.Count() - 1

Response.Write(Application.Keys(i) & " : ") Response.Write(Application(i) & "<br />") Next i

3.2 Đối tượng Session

Đối tượng Session được dùng để lưu trữ thông tin của người dùng trong ứng dụng. Thông tin được lưu trữ trong Session là của một người dùng trong một phiên làm việc

97

Chương 8. Hệ thống file và thư mục 1. Xử lý thư mục

1.1. Sử dụng thư viện xuất nhập System.IO

Muốn sử dụng file và thư mục thì trước tiên bạn phải khái báo lệnh sử dụng thư viện IO của .NET:

Imports System.IO

Thư viện này chứa hầu hết các lớp, phương thức xử lý xuất nhập, đọc/ghi trên hệ thống file. Sau khi khai báo, bạn có thể sử dụng tên các lớp mà không cần sử dụng cách viết khai báo đầy đủ. Ví dụ:

Khai báo xuất nhập

Imports System.IO Module MakeDir Sub main() ‘Tạo thư mục Directory. CreateDirectory(“C:\A”) ….

Một cách khác, bạn có thể không cần khai báo thư viện System.IO nhưng khi muốn sử dụng bất cứ lớp nào trong đó thì phải sử dụng tên đầy đủ như sau:

Module MakeDir Sub main() ‘Tạo thư mục System.IO.Directory. CreateDirectory(“C:\A”) …. 1.2. Sử dụng lớp Directory

Directory là một lớp chia sẻ (shared) chứa các thư viện sử lý thư mục, có nghĩa rằng bạn không phải tạo một thể hiện của đối tượng lớp Directory khi sử dụng những phương thức lớp. Directory là lớp con nằm trong thư viện System.IO.

Thường, chương trình của bạn tạo ra một thư mục để cất giữ file hoặc thư mục con (sub directory). Để tạo ra một thư mục, bạn có thể sử dụng phương thúc

CreateDirectory của lớp Directory. Chương trình MakeDir.vb bên dưới sử dụng

phương thức CreateDirectory để tạo ra các thư mục khác nhau. Bằng cách thay đổi tên đường dẫn chuyển cho phương thức CreateDirectory, bạn có thể tạo ra thư mục mới trong thư mục gốc hoặc thư mục chỉ định.

1.3. Kiểm tra lỗi khi xử lý thư mục và file

Bạn có thể dùng phát biểu try … catch để kiểm tra quá trình tạo thư mục không thành công như sau:

Try

Directory.CreateDirectory("Folder3")

Console.WriteLine("Thu muc tao xong roi !") Catch E As Exception

Đón bắt lỗi

98 Console.Writeline(“E.Massage”)

End try

1.4. Kiểm tra thư mục tồn tại hay không

Để xác định thư mục có tồn tại hay không, bạn gọi phương thức Exists của lớp Directory. Nếu thư mục chưa tồn tại, chương trình sẽ tạo ra thư mục mới. Nếu có, chương trình sẽ hiển thị thông báo cho biết thư mục đã tồn tại. Chương trình DirectoryExists.vb sẽ minh họa cách xử lý này.

1.5. Xóa thư mục

Cũng như nhu cầu phải tạo ra một thư mục, sẽ có lúc chương trình của bạn phải xóa một thư mục hoặc file mà thư mục chứa đựng. Trong trường hợp như vậy, bạn có thể gọi phương thức Delete của lớp Directory để xóa một thư mục hoặc tất cả các file trong thư mục con (tham số thư 2 là true)

Directory.Delete(“Đường dẫn thư mục”, True) Ví dụ:

Directory.Delete(“C:\Myfolder”)

Nếu bạn muốn xóa thư mục nhưng nếu có các file trong thư mục thì thao tác xóa không thực hiện được, bạn có thể truyền tham số thứ 2 là false cho phương thức Delete, hoặc không cần truyền đối số thứ hai.

Directory.Delete(“Đường dẫn thư mục”, false) Directory.Delete(“Đường dẫn thư mục”)

Chương trình DeleteDirectory.vb sau sẽ sử dụng phương thức Delete của lớp Directory để xóa thư mục mà bạn tạo ra trước đây bằng chương trình MakeDir.vb.

Imports System.IO Module DeleteDirectory Sub Main()

Console.WriteLine("Xoa thu muc...") Try

Directory.Delete("C:\Folder1", True) Console.WriteLine("Da xoa thu muc") Catch E As Exception

Console.WriteLine("Loi xoa thu muc") Console.WriteLine(E.Message)

End Try End Sub End Module

1.6. Di chuyển file và thư mục

Ngoài việc cho phép chương trình của bạn xóa một thư mục, lớp Directory cũng cho phép bạn di chuyển thư mục và những file mà thư mục chứa đựng bằng phương thức Move. Phát biểu sau cho phép di chuyển một thư mục có tên

C:\VB2005.2\Folder2 sang thư mục gốc với tên Folder 2: Directory.Move(“C:\VB2005.2\Folder2”, “C:\Folder2”)

99 Bạn có thể sử dụng phương thức SetCurrentDirectory và GetCurrentDirectory để thực hiện điều này. Chương trình DirectoryInfo.vb sẽ sử dụng phương thức

GetCurrentDirectory để xác định thư mục hiện hành, sau đó sử dụng phương thức SetCurrentDirectory để chỉ định thư mục gốc làm thư mục hiện hành.

Imports System.IO Module DirectoryInfo Sub Main()

In thông tin về thư mục hiện hành

Console.WriteLine("Thu muc hien tai la {0}", Directory.GetCurrentDirectory())

Đặt thư mục hiện hành là đường dẫn khác

Directory.SetCurrentDirectory("C:\")

In thông tin về thư mục hiện hành đã thay đổi

Console.WriteLine("Thu muc hien hanh moi {0}", Directory.GetCurrentDirectory())

Console.ReadLine() End Sub

End Module

1.8. Lấy và xử lý thuộc tính thư mục

Trong quá trình chương trình của chúng ta thao tác xử lý thư mục, sẽ có lúc bạn cần biết thông tin về thư mục (Như ngày tháng và thời gian cập nhật sau chót…). Để giúp chương trình của bạn xác định những thuộc tính thư mục, lớp DirectoryInfo cung cấp các phương thức mà bạn có thể sử dụng để lấy hoặc đặt thuộc tính cho thư mục.

Chương trình ShowFolderAttribute.vb sau đây sẽ sử dụng phương thức của lớp DirectoryInfo, cho biết thông tin thư mục C:\WINDOWS.

Imports System.IO

Module ShowFolderAttribute Sub Main()

If (Directory.Exists("C:\WINDOWS")) Then Dim Dir As New DirectoryInfo("C:\Windows") Console.WriteLine("Ten day du: {0}", Dir.FullName) Console.WriteLine("Ngay tao: {0}", Dir.CreationTime)

Console.WriteLine("Lan truy cap cuoi: {0}", Dir.LastAccessTime) Console.WriteLine("Lan ghi cuoi cung: {0}", Dir.LastWriteTime) Else

Console.WriteLine("C:\WINDOWS khong ton tai") End If

End Sub End Module

Cũng như lớp Directory cung cấp các phương thức sử dụng lấy thông tin về thư mục, lớp DirectoryInfo này cung cấp những phương thức (mà chương trình của bạn có thể sử dụng để đặt thuộc tính cho thư mục). Chương trình SetDirectoryAttributes.vb sau sẽ đặt lại thuộc tính thời gian cho thư mục C:\WINDOWS.

Imports System.IO

100 Sub Main()

If (Directory.Exists("C:\WINDOWS")) Then

Dim Dir As New DirectoryInfo("C:\WINDOWS") Dim DateTimeNow As DateTime = DateTime.Now() Try

Console.WriteLine("Cap nhat thuoc tinh thu muc") ' thay doi thuoc tinh thu muc

Dir.CreationTime = DateTimeNow Dir.LastAccessTime = DateTimeNow Dir.LastWriteTime = DateTimeNow Catch ex As Exception

' Xu ly loi

Console.WriteLine("Loi khi cap nhat") Console.WriteLine(ex.Message)

End Try

Console.WriteLine("Thu muc khong ton tai") End If

End Sub End Module

Biên dịch xong thử chạy lại ShowFolderAttribute để nhìn thấy sự thay đổi

Một phần của tài liệu Giáo trình lập trình cơ sở dữ liệu (Trang 97 - 101)

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

(187 trang)