Chuỗi cú pháp lệnh xử lý Query

1. Lấy từ bộ nhớ hastable
2. Lấy từ bộ nhớ DataSet
3. Một số lệnh compute từ bộ nhớ DataSet
4. Áp dụng lệnh iif trong Query
5. Lệnh thay thế chuỗi iif
6. Chuyển thành biểu thức tính toán thêm dấu === phía trước

Cú pháp lệnh:


1. Lấy từ bộ nhớ hastable (là bộ nhớ trong lúc thực thi query)
  {g:has/->a/->null:1;empty:1;error:1:g}

Ví dụ: nếu lấy biến tên a
  {g:has/->a:g}

Ví dụ: nếu lấy biến tên a, nếu chưa khởi tạo thì trả về 0
  {g:has/->a/->null:0:g}

error: nếu phát sinh lỗi trả về giá trị chỉ định



2. Lấy từ bộ nhớ DataSet (là bộ nhớ trong lúc thực thi query)

{g:db/->row,pos,NameQuery/->null:x,empty:x,notrow:x;error:x:g}

NameQuery: nếu để trống sẽ lấu Query cuối cùng mới add vào DataSet
  - Nếu để tên sẽ căn cứ vào ID của Query
  - Nếu nhập là @ thì lấy data hiện tại của Query đang xử lý

Trong TH dùng
<Config>#NotAddDataSet</Config>  * Không thêm DataTable vào DataSet thì ta phải dùng @ để lấy DataTable hiện hành.


3. Một số lệnh compute từ bộ nhớ DataSet

rowcount:
{g:dbc->rowcount,TenQuery/->null:x,empty:x,notrow:x;error:g}


4. Một số lệnh khác của g

{g:text/->seo/->Xin chào:g}  -> Chuyển thành xin_chao


4. Áp dụng lệnh iif trong Query

- Trước khi thực thi query thì toàn bộ chuổi được xử lý lệnh iif lần 1 theo dạng lệnh chung
   * Vi dụ:  <iif-D>Url:name</iif-D>
- Vào mỗi vòng lặp từng query sẽ xử lý lệnh iif lần 2
   ->  Nhưng các lệnh thêm Q
  * Vi dụ:  <iif-DQ>Url:name</iif-DQ>


5. Lệnh thay thế chuổi iif

Click xem
Lệnh thay thế chuỗi iif


6. Để tính toán thêm dấu === phía trước
 ===1+2
Kết quả là 3
Ví dụ:

<SetVar>
name:ThanhTien
value:===<iif-D>Form:SoLuong</iif-D>*<iif-D>Form:DonGia</iif-D>
</SetVar>

<SetVar>
name:ThanhTien
value:=== {g:has/->SL/->null:0:g}*{g:has/->DG/->null:0:g}
</SetVar>

Ví dụ chèn bảng ghi vào SQL:
<Query>
<ID>Q_DHCT_Insert</ID>
<Src>12</Src>
<Type>Sql</Type>
<Cmd>INSERT INTO tbBanHang_SV_CT(_SYS_KEY, _SYS_KEY_P,NgayTao,ID_HangHoa_DVT,SoLuong,DonGia,ThanhTien)
  VALUES (@_SYS_KEY,@_SYS_KEY_P, GETDATE(),@ID_HangHoa_DVT,@SL,@DG,@TT); </Cmd>
<SqlParameter>
_SYS_KEY/-/{g:has/->KeyCT:g}
_SYS_KEY_P/-/{g:has/->Key:g}
SL/-/{g:has/->SoLuong:g}
DG/-/{g:has/->DonGia:g}
TT/-/==={g:has/->SoLuong:g}*{g:has/->DonGia:g}
ID_HangHoa_DVT/-/{g:has/->ID_HangHoa_DVT:g}
</SqlParameter>
<SqlConfig>
 Call:ExecuteNonQuery
</SqlConfig>
</Query>

Mục liên quan: