全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1493
推到 Plurk!
推到 Facebook!

string → Variant 會出現字串資料減少的問題

答題得分者是:P.D.
yeye
一般會員


發表:7
回覆:5
積分:2
註冊:2006-11-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-06-11 14:48:55 IP:60.251.xxx.xxx 訂閱
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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-06-11 22:07:09 IP:118.169.xxx.xxx 未訂閱
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-06-12 10:26:08 IP:118.165.xxx.xxx 訂閱
 procedure vshowmessage(V: Variant);
begin
showmessage(V[1]);
end;


呼叫

vshowmessage(VarArrayOf([1, Csql]));

應該會是很正常
yeye
一般會員


發表:7
回覆:5
積分:2
註冊:2006-11-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2012-06-13 09:29:25 IP:122.146.xxx.xxx 訂閱
公司負責底層的工程師昨天下午回來,

才發現,是同事給到有問題的底層...

也好,也算是弄懂VarArrayOf能做些什麼了,

感謝前輩們的指導。
系統時間:2024-04-16 19:52:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!