UniqueKey
Phạm vi áp dụng
✅ Bravo 8 · ✅ Bravo 10
Ý nghĩa
Kiểm tra trùng dữ liệu ngay trên màn hình nhập liệu ở các máy client (không cần đợi tới lúc lưu).
Cú pháp
<root>
<Tables>
<Ten_bang>
<UniqueKey>
<Ten_Unique>Danh_sach_ten_truong</Ten_Unique>
</UniqueKey>
</Ten_bang>
</Tables>
</root>Khi nào việc kiểm tra được thực thi?
- ✅ Khi người dùng gõ giá trị
- ✅ Khi thêm dòng mới trong Grid với giá trị ngầm định của cột
- ✅ Khi thêm dòng mới bằng BravoAddRowEvaluator
- ⚠️ Khi merge dòng bằng BravoServerConstraint → chương trình căn cứ vào thẻ checkUnique để thực thi kiểm tra trùng (check trùng giữa dữ liệu merge vào với dữ liệu đang có ở bảng đích)
Ba cách khai báo tính duy nhất
| Cách | Nơi khai báo |
|---|---|
| 1 | Thẻ <UniqueKey> của bảng |
| 2 | Thuộc tính <Unique> / <UniqueKey> của cột trong TempColumns |
| 3 | Thuộc tính unique của cột khi thiết kế CSDL |
Ví dụ cách 2:
<TempColumns>
<CustomerCode>
<UniqueKey>True</UniqueKey>
</CustomerCode>
</TempColumns>Ghi chú
Unique nhiều cột
Chỉ thực hiện kiểm tra Unique với khai báo
<UniqueKey>của một bảng có nhiều hơn 1 cột khi và chỉ khi tất cả các giá trị của các cột đều khác trắng.
Tương tác với copy
Khi
F2hoặcCtrl+F2chương trình bỏ qua tất cả các trường có khai báo Unique. Nếu khai báo CopyMode =Includethì copy tất cả các cột trong CopyList/CopyListNew mà không kiểm tra Unique.
Liên quan
TempColumns · CopyMode · checkUnique · BravoUniqueKeyValidator · BravoServerConstraint