What's DataAccessHelper?
Giúp bạn thực hiện việc thao tác với CSDL bằng ngôn ngữ VBScript một cách nhanh chóng, hiệu quả.
Tránh việc viết đi viết lại nhiều lần câu lệnh tạo đối tượng kết nối, đối tượng lệnh(Command), đối tượng chứa tập kết quả trả về từ một câu lệnh truy vấn Select (Recordset).
1. Trong DataAccessHelper có Config.bmo chứa thông tin cấu hình kết nối CSDL và thông tin về tác giả(Thư viện)
Code:
' Thong tin ve tac gia.
Public Const Author = "HOANG VAN LUU" ' Ten tac gia
Public Const Mobile = "0934353510" ' So dien thoai
Public Const Email = "[email protected]" ' Hop thu dien tu.
Public Const Profile = "ISS" ' Profile
' Thong tin Server.
Private Const SERVER_NAME = "HOANGLUU-PC\WINCC" ' Ten Server
Private Const DATABASE_NAME = "ODBC_SQL_SERVER_ADVANCE" ' Ten CSDL.
Private Const USER_NAME = "itda" ' Ten nguoi su dung.
Private Const PASSWORD = "123456" ' Mat khau nguoi su dung.
' Ham doc chuoi ket noi Csdl.
Function GetSQLConnectionString(Byref SQLConnectionString)
' Ket noi Csdl thong qua OLEDB.
SQLConnectionString = "Provider=SQLOLEDB.1; Data Source ="& SERVER_NAME &"; uid=" & USER_NAME & "; pwd=" & PASSWORD & "; Initial Catalog = " & DATABASE_NAME & ";"
' Ket noi Csdl thong qua DNS.
'SQLConnectionString = "Provider=MSDASQL;DSN=ODBC_SQL_SERVER_ADVANCE;UID=;PWD=;"
End Function
2. Trong Management có EmployeeManagement với các Function AddEmployee, UpdateEmployee, DeleteEmployee, SelectEmployees(Sử dụng cho việc test thư viện DataAccessHelper)
Chú ý các Tags:
EmpId : kiểu Int
EmpName : kiểu String
EmpAge: kiểu Int.
Code:
' Khai bao bien va hang so.
Const TableName = "tblEmployee"
Const EmpId = "EmpId"
Const EmpName = "EmpName"
Const EmpAge = "EmpAge"
' Them moi nhan vien.
Public Function AddEmployee()
Dim columnNames ' Ten cot trong csdl.
Dim values ' Gia tri ban can insert vao csdl.
' Gan gia tri cho mang columnNames, values.
columnNames = Array(EmpId, EmpName, EmpAge)
values = Array(HMIRuntime.Tags(EmpId).Read, HMIRuntime.Tags(EmpName).Read, HMIRuntime.Tags(EmpAge).Read)
' Goi ham insert vao csdl.
Call Insert(TableName, columnNames, values)
End Function
' Cap nhat thong tin nhan vien.
Public Function UpdateEmployee()
Dim columnNames ' Ten cot trong csdl.
Dim values ' Gia tri ban can insert vao csdl.
Dim keyColumns ' Cot dieu kien.
Dim keyValues ' Cot gia tri dieu kien.
' Gan gia tri cho mang columnNames, values, keyColumns va keyValues.
columnNames = Array(EmpName, EmpAge)
values = Array(HMIRuntime.Tags(EmpName).Read, HMIRuntime.Tags(EmpAge).Read)
keyColumns = Array(EmpId)
keyValues = Array(HMIRuntime.Tags(EmpId).Read)
' Goi ham update vao csdl.
Call Update(TableName, columnNames, values, keyColumns, keyValues)
End Function
' Xoa nhan vien.
Public Function DeleteEmployee()
Dim keyColumns ' Cot dieu kien.
Dim keyValues ' Cot gia tri dieu kien.
keyColumns = Array(EmpId)
keyValues = Array(HMIRuntime.Tags(EmpId).Read)
' Gan gia tri cho mang keyColumns va keyValues.
Call Delete(TableName, keyColumns, keyValues)
End Function
' Doc danh sach nhan vien.
Public Function SelectEmployees()
Dim strSQLParam ' Chuoi truy van csdl.
Dim objRecordset ' Tap ket qua sau khi thuc hien truy van.
On Error Resume Next
strSQLParam = "SELECT * FROM " & TableName
' Goi Ham Selects tu csdl.
Call Selects(strSQLParam, objRecordset)
Do While objRecordset.EOF = False
HMIRuntime.Trace objRecordset.Fields("EmpId").Value & ": " & objRecordset.Fields("EmpName").Value & ": " & objRecordset.Fields("EmpAge").Value &vbCrLf
objRecordset.MoveNext
Loop
If Err.Number <> 0 Then
MsgBox CStr(Err.Number) & Err.Description, vbOKOnly, "Thong bao"
Err.Clear
End If
Call CloseConnection() ' Goi ham dong ket noi voi csdl.
End Function
3. Tải ví dụ mẫu: http://www.mediafire.com/?79oo0s0lxfug9r7
Tải xong giả nén, mở file "ODBC_SQL_SERVER_ADVANCE_QUERY" trong thư mục vừa giả nén bằng SQL Server 2005/2008/2012 rồi nhần F5 hoặc nhấn Execute trên thanh công cụ của IDE SQL Server để tạo DataBase và bảng CSDL để test.
Mở Project "SQL_SERVER_UTILS" trong thư mục vừa giả nến để chạy test thử thao tác với CSDL SQL Server là OK.
4. Hướng dẫn sử dụng thư viện:
1. Tạo 1 Project từ IDE của WINCC.
2. Tải 2 files DataAccessHelper.rar và Management.rar về rồi giả nén.
3. Copy 2 thư mục vừa giả nén vào ScriptLib bên trong thư mục project bạn vừa tạo là có thể sử dụng được.
Đánh dấu