Môi Trờng ứng dụng

Một phần của tài liệu Quản lý tiết kiệm tích lũy trong ngân hàng thương mại cổ phần bắc á (Trang 39 - 56)

• Microsoft VisualBasic cho phép soạn thảo, kiểm tra các trình ứng dụng của Windows, hơn nữa nó còn có các file biên dịch trợ giúp VisualBasic và Active X ,“ ” thậm trí các trình ứng dụng Internet, Online VisualBasic.

• VisualBasic là ngôn ngữ lập trình theo hớng đối tợng với công cụ cơ sở dữ liệu mô hình quan hệ, kiến trúc Client / Server . Nó đã cung cấp đầy đủ các đối tợng trong th viện sẵn có của nó. Các th viện nh DAO, RDO, ADO để truy cập tới Database. Các đối tợng điều khiển nh TEXTBOX, COMBOBOX, DBGRID, MSRDC...dùng để thiết kế giao diện và hiển thị dữ liệu lấy từ Database, Recordset hay Resultset. Các đối tợng điều khiển là các tệp OCX.

Mỗi đối tợng đợc xây dựng bởi các phần chính sau:

- Properties (Thuộc tính): Quy định các đặc điểm của đối tợng.

- Method (Phơng thức): Là công việc mà đối tợng có khả năng thực hiện đợc. - Event (Sự kiện): Là sự nhận biết ảnh hởng của các tác động bên ngoài đối t-

ợng. Ta hiểu rằng sự kiện là một thủ tục, nó đợc thực hiện khi đối tợng bị ảnh h- ởng của sự kiện đó.

• Visual Basic là một môi trờng lập trình rất tốt cho các hớng đối tợng cho từng công việc khác nhau. Các thủ tục của Visual Basic đợc viết ra để sắp xếp theo dõi các đối tợng. Visual Basic 6.0 có thể xây dựng một đối tợng dễ dàng. Ví dụ nh ta xây dựng một lớp mới(Class) với các thuộc tính, sự kiện và phơng thức theo yêu cầu. Việc xây dựng các Class này là xây dựng một th viện động DLL. Khi ta dịch thành DLL thì các ứng dụng khác trong Windows sử dụng một cách dễ dàng, thuận tiện.

• Với Visual Basic 6.0 ta có thể tạo ra một đối tợng điều khiển mới(.OCX) bằng cách tạo ra một Control mới trong Project. Trên Control này ta dùng các đối tợng có sẵn và viết thêm thuộc tính, thủ tục cần thiết. Việc xây dựng mới trên Control giống hệt nh xây dựng chơng trình trên Form và sau khi xây dựng xong ta tạo (.OCX) từ MenuFile. Mang tệp(.OCX) chép vào máy bất kỳ và sử dụng nh một (.OCX) sẵn có trong VisualBassic

Visual Basic dễ dàng kết nối với các cơ sở dữ liệu nh: SQL Server, Access... 1. Công nghệ Activex:

- Là công nghệ mới của Microsoft đợc coi là để kết hợp Destop với Internet thành một, các công cụ điều khiển Activex cho những lập trình viên trên tất cả những hệ thống phát triển cuả PC.

- Nếu ta chọn cơ sở dữ liệu là SQL Server thì Activex sau đó có thể sử dụng mạnh nhất trong các môi trờng Internet.

- Ativex DLL là chơng trình giống nh Ativex exe nhng nó cung cấp giao diện. Nó đợc dịch ra DLL, khi dịch nó tự động đăng ký vào hệ điều hành.

- Ativex Document DLL là Ativex DLL có giao diện chạy hoàn toàn trên trang Web. Nếu dùng Ativex Document DLL để làm với cơ sở dữ liệu thì ta phải chọn cơ sở dữ liệu Client Server (ta chọn SQL Server).

2. Th viện ADO và cấu trúc OLEDB/ADO:

Cho đến Visual Basic 5.0, ADO (dữ liệu đối tợng Ativex Ativex Data Object) trở– thành nền tảng của kỹ thuật truy cập cơ sỏ dữ liệu Internet. Trong Visual Basic 6.0, ADO 2.0 trở nên càng quan trọng hơn. Ta có thể dùng ADO không chỉ để truy cập cơ sở dữ liệu thông qua trang Web, mà còn có thể dùng nó để lấy dữ liệu từ ứng dụng viết bằng Visual Basic. ADO là giao diện dựa trên đối tợng cho công nghệ dữ liệu mới nổi gọi là OLEDB.

2.1Các thành phần ADO:

- Connect: Dùng để tạo kết nối với cơ sở dữ liệu.

- Error : Chứa các lỗi trả về khi thực hiện thao tác với dữ liệu.

- Command: Đối tợng đợc tạo ra từ cơ sở dữ liệu bằng cách thực hiện một câu lệnh SQL.

- Parameter: Các tham số gắn liền với đối tợng command và truyền vào các Query có tham số hoặc có thủ tục gắn liền với dữ liệu.

- Recordset: Tập hợp các bản ghi là kết quả của việc mở một bảng dữ liệu hoặc thực hiện một câu lệnh SQL.

- Field: Đại diện cho một trờng trong dữ liệu với các kiểu dữ liệu thông dụng. - Property: Đại diện cho các thuộc tính động của các đối tợng thuộc ADO.

2.2Mô hình ADO:

Mỗi đối tợng Connection, Command, Recordset, Field đều có phần Properties (thuộc tính). connection errors errors command Parameters recordset fields Parameters fields connection command recordset fields properties property

2.3Sử dụng các thành phần của ADO. - Connection: Kết nối tới nguồn dữ liệu.

Để tạo ra một kết nối với cơ sở dữ liệu ta sử dụng phơng thức Open đối tợng Connection (Connection. Open), hoặc có thể sử dụng phơng thức Recordset. Open.

VD: Dim adConn as New ADODB.Connection

adConn. Connectstring = Provider = OLEDB;Datasouse = Test; _“ UID = sa;PWD = ;Server = ServerNT ”

adConn.CursorLocation = adUseClient adConn.Open

Nh vậy ta đã truy cập tới SQL Server - Recorset : Mở Cơ sở dữ liệu

VD : Dim Rs as New ADODB.Recorset (adsbygoogle = window.adsbygoogle || []).push({});

Set Rs = adConn.Execute ( Select * from Emp ,adOpenDanaset,_“ ” adlockOptimistic)

- Sử dụng thuộc tính CursorType, LockType để định nghĩa và khoá cho đối tợng RecordSet:

CursorType: Định nghĩa kiểu con trỏ khi tạo RecordSet. Có giá trị sau:

Kiểu con trỏ Hằng Mô tả

Forward-Only AdOpenForwardOnly Kiểu con trỏ tham khảo. Ta chỉ có thể chuyển về phia trớc trong RecorSet. Sử dụng phơng thức MovePrevious và MoveFirst sẽ sinh lỗi

KeySet AdOpenKeySet Khi chọn kiểu này ta không xem đợc những bản ghi mà ngời dùng khách thêm vào hoặc xoá đi trong lúc ta đang truy cập

Dynamic AdOpenDynamic Ta có thể thấy toàn bộ thay đổi trên dữ liệu do những ngời sử dụng khách thực hiện trong khi ta đang mở RecordSet Static AdOpenStatic Bản sao của toàn bộ dữ liệu của một

RecordSet. Mọi thay đổi thông tin ở nguồn đều không đợc cập nhật vào

RecordSet

Lock Type:Định nghĩa kiểu khoá dữ liệu khi tạo RecordSet. Có giá trị sau:

Hằng Mô tả

AdLockReadOnly Mở dữ liệu kiểu chỉ đọc. Ta không thể thay đổi đợc dữ liệu

AdLockPessimistic Khoá bản ghi khi bắt đầu tiến hành sửa đổi và tiếp tục khoá đến khi thi hành phơng thức Update hay di chuyển sang bản ghi khác

AdLockOptimistic Bản ghi bị khoá ngay lúc thi hành phơng thức Update hay di chuyển sang bản ghi khác

AdLockBatchOptimistic Sử dụng để khoá bản ghi trong chế độ Update hàng loạt

Một số thuộc tính khác của ADO dùng để tìm kiếm dữ liệu và di chuyển: Thuộc tính Miêu tả

FindMethod Cú pháp:

Find(Criteria, SkipRows,SerchDirrectory,Start) + Criteria : điều kiện tìm kiếm

+ SkipRows: Số bản ghi bỏ qua để bắt đầu tìm từ bản ghi hiện thời hoặc vị trí Start Bookmark

+ SerchDirrectory: Hớng tìm kiếm có hai hớng là adSerchForward và SerchBackward

+ Start: Vị trí Bookmark để bắt đầu tìm kiếm MoveFirst Chuyển về bản ghi đầu

MoveLast Chuyển về bản ghi cuối MoveNext Chuyển tới bản ghi tiếp theo MovePrevious Chuyển về bản ghi trớc 2.4Cấu trúc OLE DB/ ADO

OLEDB đợc thiết kế để thay ODBC nh một phơng thức để truy cập dữ liệu. ODBC hiện thời là tiêu chuẩn phía Client. Sử dụng Window rất phổ biến để truy cập các dữ liệu quan hệ bởi nó thiết lập các Server cơ sở dữ liệu quan hệ càng tổng quát càng tốt đến các ứng dụng Client. OLEDB đi sâu hơn một bớc làm cho tất cả nguồn dữ liệu trở thành tổng quát đối với ứng dụng Client. Phần lớn các nhà lập trình không tơng tác trực tiếp với OLEDB. Thay vào đó, họ lập trình với ADO, mô hình đối tợng cung cấp giao diện với OLEDB

ClientWorkstation Client application Remote Data ODBC Driver ODBC Driver OLEDB Data ActiveX Data OLEDB Relation DataBase Mail Server Document Server

Có nhiều khả năng bạn có thể dùng ADO và OLEDB để đạt đợc nguồn dữ liệu quan hệ ngay khi không có trình cung cấp OLEDB cục bộ. Bởi vì nó có trình cung cấp OLE DB tổng quát cho cơ sở dữ liệu quan hệ ODBC.

Ta chỉ cần lập trình với phần giao diện ngời sử dụng ở phía Client. Bởi việc truy cập dữ liệu trên ứng dụng Visual Basic và trên trình duyệt Web đợc chuyển hết về phía AtiveX Server, ta có thể bảo đảm rằng logic chơng trình luôn nhất quán, bất kể loại ứng dụng nào đang đợc dùng.

II. Ngôn ngữ SQL và Cơ sở dữ liệu SQL SERVER

1. Tổng quan hệ quản trị cơ sở dữ liêu SQL Server:

• SQL Server là một cơ sở dữ liệu Client/Server (xem phần sau) . Nó có hai chức năng chính :

- Chứa dữ liệu ngời dùng nhập vào (adsbygoogle = window.adsbygoogle || []).push({});

- Xử lý các yêu cầu gửi tới thông qua ngôn ngữ truy vấn cơ sở dữ liêu và trả về cho ứng dụng kết quả xử lý.

câu lệnh SQL

Client Server

2. Các đối tợng trong hệ quản trị cơ sở dữ liệu SQL Server: 2.1Bảng (Table) :

Bảng là đơn vị lu trữ dữ liệu chính trong cơ sở dữ liệu SQL Server, đó là tập hợp dữ liệu có liên quan với nhau , là một đối tợng lu trữ dữ liệu dới dạng hàng, cột. Các hàng trong bảng ngời ta gọi là các bản ghi chứa dữ liệu, các cột là các trờng chứa các thuộc tính của bảng.

2.2Khung nhìn dữ liệu (View) :

Về mặt logic, bảng ảo giống nh một bảng thực, nó không chứa bảng vật lý nào mà nó chỉ là kết quả của việc thực hiện các câu lệnh Select trên những bảng thực và dữ liệu của nó sẽ bị mất đi khi không thực hiện các câu lệnh đó.

2.3Chỉ số của bảng (Index) :

Chỉ số là một cấu trúc đợc tạo ra để lu trữ thông tin về vị trí các bản ghi trong một bảng dữ liệu nhằm cải thiên tốc độ truy xuất dữ liệu. Một chỉ số đợc tạo nên trên một hay nhiều bảng, mọi sự thay đổi dữ liệu trong bảng đều đợc tự động cập nhật với các chỉ số có liên quan trong suốt quá trình sử dụng.

2.4Thủ tục lu trữ (Store procedure) :

Là một khối các câu lệnh truy vấn cơ sở dữ liệu, đợc lu trữ trong một thủ tục và có tham số vào cũng nh giá trị trả về khi thủ tục đó đợc thực hiện.

2.5Trigger :

Dữ liệu CT ứng

Là một thủ tục lu trữ đợc tự đông thực hiện bởi SQL Server khi một bảng đợc sửa đổi bằng các câu lệnh UPDATE, INSERT, DELETE. Nó có thể lu trữ một câu lệnh đơn giản hay các câu lệnh phức tạp của T_SQL (Transaction SQL), nhờ đó ta có thể lợi dụng cơ chế này để viết các Trigger nhằm giải quyết các quy tắc nghiệp vụ, các mối dàng buộc phức tạp.

3. Ngôn ngữ cơ sở dữ liệu SQL :

3.1Định nghĩa :

• Ngôn ngữ cơ sở dữ liệu (CSDL) là các câu lệnh, các mệnh đề đợc phát biểu theo một quy tắc nhất định, đợc ngời sử dụng đa vào và đợc hệ quản tri CSDL xử lý

• Ngôn ngữ SQL là ngôn ngữ CSDL dùng các câu lệnh để chèn/ xoá/ sửa dữ liệu. Ngoài ra, dùng mệnh đề để hỏi, truy vấn dữ liệu, bảo vệ dữ liệu. Ngời ta gọi đây là ngôn ngữ phi thủ tục, nghĩa là ngời sử dụng sử dụng các câu lệnh của ngôn ngữ để xác định dữ liệu nào họ muốn mà không cần biết dữ liệu này đợc tìm nh thế nào.

3.2Cách sử dung ngôn ngữ SQL : có 2 cách

• Sử dụng tơng tác : ngời sử dụng gửi câu lệnh tới và đợc hệ quản trị cơ sở dữ liệu thực thi ngay và kết quả đợc trả về cho ngời sử dụng

• Nhúng các câu lệnh SQL vào trong chơng trình, các chơng trình này có thể viết bằng các ngôn ngữ khác nhau, u điểm của phơng pháp này là đợc thực hiện nhanh và tăng tính mềm dẻo.

4. Tính toàn vẹn dữ liệu và cơ chế bảo mật : User

Ngôn ngữ CSDL

Hệ quản trị CSDL

• Hệ quản trị cơ sở dữ liệu SQL Server cho phép nhiều ngời sử dụng CSDL của hệ thống nên bảo mật là vấn đề đặc biệt quan trọng, công việc này sẽ điều khiển mọi sự truy cập và sử dụng CSDL của hệ thống. Vấn đề bảo mật ở đây là: - Ngăn chặn sự truy cập trái phép tới cơ sở dữ liệu.

- Không cho phép sự truy cập trái phép trên các đối tợng của hệ quản trị cơ sở dữ liệu.

- Điều khiển không gian sử dụng đĩa.

- Điều khiển sự sử dụng tài nguyên của hệ thống. - Khiểm tra ngời dùng.

- Bảo mật cơ sở dữ liệu đợc thực hiện ở 2 mức : bảo mật hệ thống và bảo mật mức dữ liệu.

• Bảo mật hệ thống cung cấp những kỹ thuật điều khiển sự truy nhập và sử dụng CSDL ở mức hệ thống, cụ thể là : (adsbygoogle = window.adsbygoogle || []).push({});

- Phải đúng tên ngời dùng và mật khẩu. - Giới hạn tài nguyên đối với ngời dùng.

- Bảo mật hệ thống kiểm tra những CSDL nào đợc phép truy nhập.

• Bảo mật dữ liệu cung cấp những kỹ thuật điều khiển sự truy nhập và sử dụng CSDL ở các đối tợng cụ thể nh : ngời dùng đợc quyền truy nhập tới lợc đồ đối t- ợng nào, và xác định quyền thao tác với những đối tợng đó .

• Trong SQL Server quyền đợc thực hiện một thao tác đặc biệt nào đó trên CSDL đợc chia làm 2 loại :

- Quyền đối tợng: là những quyền cho phép ngời sử dụng thực hiện một tác động nào đó lên đối tợng, (ví dụ : INSERT, UPDATE lên một bảng).

- Quyền hệ thống: là quyền cho phép ngời dùng sử dụng có thể thực hiện một số lớp thao tác đặc biệt nh :

Quyền tạo bảng

Quyền đợc tạo ra ngời sử dụng hoặc tạo ra các phiên làm việc.

III. Crystal Report: 1. Giới thiệu:

Crystal Report dùng để tạo ra các mẫu báo cáo (Report Form). Crystal Report có thể báo cáo trên mọi Cơ sở dữ liệu nh Access, FoxPro, SQL Server và các Data Base khác.

So với Crystal Report 4.6, Crystal Report 8.X, 9.X có nhiều chức năng hơn và đặc biệt có thể kết nối qua OLEDB ngoài việc kết nối qua ODBC.

2. Sử dụng form báo cáo (.rpt) đợc thiết kế từ mở CSDL qua OLEDB:

Đối với các form báo cáo đợc thiết kế theo chuẩn kết nối CSDL quan OLE DB, việc sử dụng nó sẽ đợc thông qua các th viện DLL của Crystal Report:

2.1Khai báo sử dụng th viện DLL Crystal Report ActiveX Designer Run Time: Thực hiện: VB->Project-> References và sau đó chọn th viện nh hình bên. Nhấn OK để ghi nhận

2.2 Khai báo sử dụng Crystal Report Viewer Control Thực hiện: VB->Project-> Components và sau đó chọn Control nh hình bên. Nhấn OK để ghi nhận.

2.3Sử dụng Form trong VB

Thiết Crystal Viewer Control CRViewer1 và Command1 lên Form1: Giả sử form thiết kế đợc lu ra với

tên têp: Test.rpt và chơng trình nguồn dới đây sẽ thực hiện việc báo cáo lên CRViewer1:

Ví dụ:

Private Sub Command1_Click()

Dim mApp As New CRAXDRT.Application Dim mReport As New CRAXDRT.Report

mReport = mApp.OpenReport("D:\Study\Test.rpt")

mReport.Database.LogOnServerEx "pdsoledb", "LAN", _ "Test", "sa", "pass", "OLEDB", "Provider=SQLOLEDB" CRViewer1.ReportSource = mReport

CRViewer1.ViewReport

End Sub

Trong đó:

pdsoledb: là Provider Sesvice để truy cập CSDL

LAN: Là tên máy chủ

Test: Là tên DataBase

sa: Là tên kết nối (adsbygoogle = window.adsbygoogle || []).push({});

pass: Là mật khẩu

OLEDB: Là loại Server

Đối với các Formulas đợc định nghĩa trong Report có thể đợc truyền giá trị từ ngoài VB. Ví dụ trong Report có 3 Formulas: GD, LB và KTT:

Ví dụ:

Private Sub Command1_Click() ………

For i = 0 To mReport.FormulaFields.Count - 1

vFName = mReport.FormulaFields(i).FormulaFieldName Select Case UCase(vFName)

Case "GD"

mReport.FormulaFields(i).Text = "Nguyễn Ngọc Linh" Case "KTT"

mReport.FormulaFields(i).Text = "'Phan Thu Hoài'" Case "LB"

mReport.FormulaFields(i).Text = "' Nhâm Thị Nguyên '" End Select

Next i

CRViewer1.ViewReport

End Sub

Trong VB có thể lập trình bổ sung các FormulaFields, Group, TextField, … Ví dụ: Thêm mới 1 TextField

Private Sub Command1_Click()

mReport.Sections(1).AddTextObject "CTY TNHH BìNH NGUYÊN", 100,0

End Sub

Trong đó:

Sessions(1): Là Session đầu tiên của Report (Report Header) 100: Là toạ độ left của TextField đối với Session 0: Là tạo độ top của TextField đối với Session Để Format nội dung TextField có thể áp dụng đoạn chơng trình sau:

Ví dụ: Thêm mới 1 TextField

Dim textobj As CRAXDRT.TextObject

Set textobj = mReport.Sections(1).AddTextObject( _ "CTY TNHH BìNH NGUYÊN", 100, 0)

textobj .Font.Name = ".vnTimeH" textobj .Font.Bold = True

textobj .TextColor = RGB(255, 0, 0)

End Sub

3. Các hàm cơ bản trong Crystal Report

Để thiết kế đợc các báo cáo phong phú trong Crystal Report, sau đây chỉ giới thiệu

Một phần của tài liệu Quản lý tiết kiệm tích lũy trong ngân hàng thương mại cổ phần bắc á (Trang 39 - 56)