Xử lý nhiều lệnh sql, áp dụng cho form html nhiều dòng.
Ví dụ có form html
<form id="frm">
<input name="_SYS_KEY" type="text" value="7937-23434" />
<input name="NumOrder" type="text" value="1" />
<input name="SoLuong" type="text" value="1" />
<input name="DonGia" type="text" value="200" />
<input name="ThanhTien" type="text" value="200" />
<hr>
<input name="_SYS_KEY" type="text" value="3957-83434" />
<input name="NumOrder" type="text" value="2" />
<input name="SoLuong" type="text" value="1" />
<input name="DonGia" type="text" value="200" />
<input name="ThanhTien" type="text" value="200" />
<button id="btSave" type="button" class="btn btn-primary">Lưu</button>
</form>
<script>
$("#btSave").click(function(){
var url="/adminxml/Query_Do.aspx?name=BanHang_iif/DonHang_Update_HangHoa&out=txt&idDH=<iif-D>Url:idDH</iif-D>";
$.post( url,
$("#frm").serialize()
)
.done(function( data ) {
alert(data);
});
});
</script>
Viết 1 query có tên BanHang_iif/DonHang_Update_HangHoa
<Query>
<ID>Update_HangHoa</ID>
<Src>12</Src>
<Type>Sql_array</Type>
<Cmd>Update tbBanHang_SV_CT Set NumOrder=@NumOrder,SoLuong=@SoLuong,ThanhTien=@ThanhTien Where _SYS_KEY=@_SYS_KEY</Cmd>
<SqlParameter>
NumOrder:*sql-NumOrder/-/int
SoLuong:*sql-SoLuong/-/float
ThanhTien:*sql-ThanhTien/-/float
</SqlParameter>
<SqlConfig>
KeyName:_SYS_KEY
</SqlConfig>
</Query>
Gợi ý 1: KeyName là khóa chính của table, nếu KeyName rỗng thì khóa chính mặc định là _SYS_KEY
Ta có thể không ghi KeyName:_SYS_KEY nếu khóa chính table là _SYS_KEY
NumOrder:*sql-NumOrder/-/int , int là kiểu của cột trong sql, để trống mặc định là nvarchart
Gợi ý 2: Lệnh thêm
NumOrder:*sql-NumOrder/-/int/-/<empty:1/>
Nếu NumOrder rỗng thì lấy giá trị là 1
Hay
NumOrder:*sql-NumOrder/-/int/-/<empty:#=i/> lấy giá trị theo vòng lặp.
SQL array