string → Variant 會出現字串資料減少的問題 |
答題得分者是:P.D.
|
yeye
一般會員 發表:7 回覆:5 積分:2 註冊:2006-11-18 發送簡訊給我 |
var
Csql: string; begin Csql := 'SELECT A.*, B.SYPARL_NAME AS TAX_TYPE, C.SYPARL_NAME AS PAY_TYPE ' 'FROM VANDMAST A , SYSTPARL B, SYSTPARL C ' 'WHERE A.VAMAST_TAXTYPE = B.SYPARL_NO AND B.SYPARL_CODE=''26'' ' 'AND A.VAMAST_TAXTYPE = C.SYPARL_NO AND C.SYPARL_CODE=''3'' ' 'AND TO_CHAR(VAMAST_CREDTE,'YYYYMMDD') >= ''20120101'' ' 'AND TO_CHAR(VAMAST_CREDTE,'YYYYMMDD') <= ''20120331'' ' 'ORDER BY VAMAST_NO'; VarArrayOf([1, Csql]) end; 我有試過,寫一個function傳入型態為string時,所有的sql語法都會顯示出來, 唯獨當傳到 VarArrayOf 時,20120101之後的資料會全部被截掉, 因為是第一次接觸VarArrayOf 這個function,網路上的參考資料也很少, 想請教各位前輩,有沒有什麼方法可以解決? |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
1.你可以先檢查 csql 的長度為多少, 是否與底下的內容長度一致
2.不知道你為什麼用 vararrayof 來傳遞參數, 然而又 function 接收端是如何接收資料, 並未看到 3.如果你不確定傳送與接收的參數型別時, 建議傳送接收端直接定義 Varaint 即可 請仔細看 VarArrayof 的回傳值型別也是定義成 Variant ===================引 用 yeye 文 章=================== var Csql: string; begin Csql := 'SELECT A.*, B.SYPARL_NAME AS TAX_TYPE, C.SYPARL_NAME AS PAY_TYPE ' 'FROM VANDMAST A , SYSTPARL B, SYSTPARL C' 'WHERE A.VAMAST_TAXTYPE = B.SYPARL_NO AND B.SYPARL_CODE=''26''' 'AND A.VAMAST_TAXTYPE = C.SYPARL_NO AND C.SYPARL_CODE=''3'' ' 'AND TO_CHAR(VAMAST_CREDTE,'YYYYMMDD') >= ''20120101''' 'AND TO_CHAR(VAMAST_CREDTE,'YYYYMMDD') <= ''20120331''' 'ORDER BY VAMAST_NO'; VarArrayOf([1, Csql]) end; 我有試過,寫一個function傳入型態為string時,所有的sql語法都會顯示出來, 唯獨當傳到 VarArrayOf時,20120101之後的資料會全部被截掉, 因為是第一次接觸VarArrayOf 這個function,網路上的參考資料也很少, 想請教各位前輩,有沒有什麼方法可以解決? |
leveon
資深會員 發表:30 回覆:389 積分:303 註冊:2012-02-12 發送簡訊給我 |
|
yeye
一般會員 發表:7 回覆:5 積分:2 註冊:2006-11-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |