パラメータ化されたクエリの使用に関する@Steveのコメントに心から同意しますが、この場合、適切な TO_DATE 呼び出しを追加して試してみることをお勧めします。これを試して:
cmd.CommandText = "SELECT 'At CFO Approval ' || count(*) || " &
"' Cheques' || ' of Rs.' || " &
"nvl(to_char(sum(bpv_amt),'9,999,999,999'),0) CFOApp " &
"from check_data where sta_flg = 0 and " &
"TRUNC(bpv_date)=TO_DATE('" & TreeView1.SelectedValue & "', 'DD MON YYYY')"
編集
日付比較への TRUNC() 呼び出しを追加しました。
次のようにテストされます。
CREATE TABLE CHECK_DATA
(BPV_AMT NUMBER,
STA_FLG NUMBER,
BPV_DATE DATE);
INSERT INTO CHECK_DATA (BPV_AMT, STA_FLG, BPV_DATE) VALUES (100, 0, SYSDATE);
INSERT INTO CHECK_DATA (BPV_AMT, STA_FLG, BPV_DATE) VALUES (200, 0, SYSDATE-1);
INSERT INTO CHECK_DATA (BPV_AMT, STA_FLG, BPV_DATE) VALUES (300, 1, SYSDATE);
INSERT INTO CHECK_DATA (BPV_AMT, STA_FLG, BPV_DATE) VALUES (200, 0, SYSDATE);
次に、クエリを実行します。
SELECT 'At CFO Approval ' || count(*) ||
' Cheques' || ' of Rs.' ||
nvl(to_char(sum(bpv_amt),'9,999,999,999'),0) CFOApp
from check_data
where sta_flg = 0 AND
TRUNC(bpv_date) = TO_DATE('29 Aug 2012', 'DD MON YYYY');
結果は
At CFO Approval 2 Cheques of Rs. 300
共有してお楽しみください。