8/06/2011

Axapta X++ :: การใช้ตัวแปรใน SQL Statement ของ Axapta

การรับตัวแปรเพิ่มเข้าไปเป็นเงื่อนไขในส่วนของ SQL เช่น รับค่าจาก Dialog แล้วเอามาเติม Wildcard ก่อนที่จะ query
หากใช้ตัวแปรที่เป็น str ธรรมดาจะมี error message
"Container and unbound string (text) fields are not allowed here in a WHERE expression"


แก้ไขได้โดย กำหนดขนาดของ string ให้แน่นอน หรือประกาศเป็น extended datatype ไปเลย
เช่น

WrkCtrIdBase              tmpStr;
//  str 10                     tmpStr;
   ;
 
    tmpStr = strfmt("%1%2",wrkCtrIdBase,"-LA*");
    SELECT sum(Amount) FROM prodRouteTrans WHERE prodRouteTrans.CategoryId LIKE tmpStr;

No comments:

Post a Comment