[Ngôn ngữ Avenue #11] Kết nối dữ liệu với Avenue

0
62
1. KẾT NỐI DỮ LIỆU DÙNG HỘP THOẠI KẾT NỐI
ArcView cho phép ta kết nối với các loại dữ liệu SQL như MS Access, MS SQL Server, Oracle, FoxPro… Trên hệ điều hành Window và WinNT, ArcView sử dụng cầu nối ODBC (Open Database Connectivety) để kết nối vào vào cơ sở dữ liệu SQL.
Bây giờ ta dùng hộp thoại kết nối để tạo kết nối đến một file dữ liệu Access có sẵn trên đĩa. File dữ liệu có tên là DONGTHAP.mdb đặt ở vị trí e: dulieu
  • Trong ArcView chọn Tables
  • Trên menu Project chọn SQL Connect…, hộp thoại kết nối như hình sau

  • Chọn mục MS Access Database trong Connection
  • Nhấn vào nút Connect…
  • Hộp thoại yêu cầu đường dẫn đến file dữ liệu Access hiện ra như hình sau

  • Chọn đường dẫn đến vị trí đặt file Access E: dulieuDongThap.mdb. và nhấn OK

  • Chọn bảng DANSO trong tables, chọn <All Culumns> trong culumn.
  • Trong Output Table ta gõ vào DANSO
  • Nhấn nút Query
  • Bảng dữ liệu dân số được đưa vào trong ArcView.
Trong bảng dữ liệu này ta chỉ xem thông tin mà không thể thực hiện được các thao tác thêm, xoá, sửa trên nó. Để thực hiện được các thao tác thêm, xoá, sửa ta phải viết lệnh thông qua Avenue

2. KẾT NỐI DỮ LIỆU THÔNG QUA AVENUE

Avenue dùng đối tượng SQLCon để thiết lập kết nối đến một cơ sở dữ. SQLCon kết nối đến cơ sở dữ liệu thông qua cầu nối ODBC.
Dùng SQLCon kết nối đến file dữ liệu Access DongThap.mdb ta làm như sau
Tạo ODBC cho file dữ liệu này.
  • Trong Windown và Control Pannel
  • Chọn DataSource (ODBC). Hộp thoại ODBC Data Source xuất hiện như sau

  • Chọn vào Tab System DSN, và nhấn vào nút Add. Hộp thoại yêu cầu chọn nguồn dữ liệu như hình

  • Chọn vào mục Microsoft Access Driver (*.mdb) và nhấn Finish

  • Gõ vào tên Data Source Name là DongThap
  • Nhấn vào nút Select để chỉ đến đường dẫn đến file dữ liệu.
  • Nhấn OK, trong cửa sổ ODBC Data Source lúc này ta thấy xuất hiện một DSN là DongThap. Nhấn OK để đóng hộp thoại lại.
Dùng SQLCon để kết nối đến nguồn dữ liệu qua ODBC
  • Trong giao diện tài liệu người dùng khung nhìn ta tạo mới một Button.
  • Trong sự kiện Click của Button này ta gán vào Script có nội dung như sau.
 theSQL=SQLCon.Find(“DONGTHAP”) ‘ tạo kết nối theSQL.Login(“/”) ‘ tên đăng nhập và mật khẩu astring=”Select * from DANSO” ‘ câu truy vấn SQL theVTab=VTab.MakeSQL(theSQL, astring) myTable=Table.Make(theVtab) ‘ tạo bảng av.GetProject.AddDoc(mytable) ‘ đưa bảng vào project mytable.GetWin.Open ‘ mở bảng này ra
Trong đoạn chương trình trên
SQLCon.Find(“aName”) dùng để tìm ra kết nối đến nguồn dữ liệu tương ứng, mỗi một loại nguồn dữ liệu ta có tên một kết nối riêng. Để biết được tên cụ thể của kết nối ta vào Data Source (ODBC ) trong Control Pannel của Window.
theSQL.Login(“/”) dùng để đăng nhập vào nguồn dữ liệu thông qua tên người dùng và mật mã, tên người dùng và mật mã được viết dưới dạng user/password. Trong trường hợp trên vì cơ sở dữ liệu của ta không có user và password nên ta viết là “/”.
VTab.MakeSQL(theSQL,astring) dùng để tạo ra một bảng ảo dựa vào câu lệnh SQL astring truyền vào, người lập trình để viết được các lệnh SQL thì phải biết qua ngôn ngữ SQL.
Các yêu cầu của lớp SQLCon
GetConnections Yêu cầu này trả về danh sách các kết nối hiện có
ExecuteSQL ( aString ) Yêu cầu này thực thi một câu lệnh SQL aString, nêu thực thi thành công thì kết quả trả về là true
Logout thoát ra khỏi kết nối
IsLogin trả về true nếu đã login vào kết nối
HasError trả về true nếu kết nối bị lỗi, dùng yêu cầu này để kiểm tra kết nối có bị lỗi không.
3. VÍ DỤ
Ví dụ sau thực hiện chỉnh sửa dữ liệu trong bảng DANSO, cập nhật tổng số dân trong huyện Lai Vung là 20000 trong đó số nữ là 11000 số dân nam là 9000
theSQL=SQLCon.Find(“DONGTHAP”) ‘ tạo kết nối theSQL.Login(“/”) ‘ tên đăng nhập và mật khẩu astring=”update DANSO set TongDan=20000, Nu=11000, Nam=9000 where ID=10″
theSQL.ExecuteSQL(astring) ‘ cập nhật
astring=”select * from DANSO” ‘ câu truy vấn SQL theVTab=VTab.MakeSQL(theSQL, astring) myTable=Table.Make(theVtab) ‘ tạo bảng av.GetProject.AddDoc(mytable) ‘ đưa bảng vào project mytable.GetWin.Open
 Bài tập 
Bài tập 1:
Viết script kết nối đến bảng dữ liệu FoxPro tên là DS.dbf trong thư mực E: DulieuDongthap
Bài tập 2:
Tạo một cơ sở dữ liệu trong MS SQL Server, sau đó viết script trong để truy xuất đến các bảng trong cơ cở dữ liệu này.

Nguồn:”Bài giảng Lập trình Avenue-Nguyễn Thủy Đoan Trang,Trường đại học Nha Trang”

LEAVE A REPLY

Please enter your comment!
Please enter your name here