各位高手好,我想請問一下,我在PB代碼中,定義了兩個事務變數SQLCA2,SQLCA3(注:后臺是SQL2000),然后用SQLCA2連接資料庫一,用SQLCA3連接資料庫2(注,默認的SQCA連接另一個資料庫),然后把SQLCA2的一張表內容用資料視窗顯示出來了,我想在顯示出的資料視窗里選擇一行,然后把選中的行中的一項存放到一個變數ypbh里,然后我再打開SQLCA3的資料庫,我想用ypbh這個變數跟跟SQLCA3的其中一個表關聯,然后讀取出一項(注ypbh存盤的內容跟SQLCA3的某個表有關聯)
下面是我的代碼:(注,資料庫連接都沒問題了,表kczl是用SQLCA3打開的庫里的一個表)請大家幫我看一下,從SQL查詢陳述句開始錯在那里了?SELECT前面的都沒問題
string ls_ypbh
int number
int r
if dw_1.getRow()>=1 then
r=dw_1.getRow()
sle_2.text=string(dw_1.object.DATA[r,3])
sle_3.text=string(dw_1.object.DATA[r,5])
ddlb_2.text=string(dw_1.object.DATA[r,4])
//sle_5.text=string(dw_1.object.DATA[r,8])
//sle_15.text=string(dw_1.object.data[r,9])
ls_ypbh=string(string(dw_1.object.DATA[r,1]))
SELECT SUM("kczl"."kcsl_mz")
into:number
FROM "kczl"
GROUP BY "kczl"."ypbh"
HAVING "kczl"."ypbh" = :ls_ypbh
ORDER BY "kczl"."ypbh" using SQLCA3;
sle_4.text=string(number)
end if
if keydown(keytab!) then
tab_1.tabpage_1.sle_4.setfocus()
end if
uj5u.com熱心網友回復:
SELECT SUM(kcsl_mz)into :number
FROM kczl
where ypbh = :ls_ypbh
using SQLCA3;
uj5u.com熱心網友回復:
1樓的回答不對啊,調不出來uj5u.com熱心網友回復:
SELECT SUM("kczl"."kcsl_mz") into:numberFROM "kczl"
WHERE "kczl"."ypbh" = :ls_ypbh
GROUP BY "kczl"."ypbh"
ORDER BY "kczl"."ypbh" ASC using SQLCA3;
如果出不來,那你有沒有斷點除錯一下,看看ls_ypbh的值取沒取到。
uj5u.com熱心網友回復:
我測驗了,ls_ypbh的值沒問題uj5u.com熱心網友回復:
我想了一下,是不是沒要加個回圈陳述句啊?要是加的話,要怎么判斷是否到表的最后呢?uj5u.com熱心網友回復:
kczl有數嗎? 判斷一下
select count(*) into :i from kczl
where ypbh = :ls_ypbh using sqlca3;
看看i是多少!0就是沒數
分組求和? 你的分組就是ls_ypbh,那它分組,排序有什么用啊!
if i>0 then
select sun(kcsl_mz) into :number
from kczl
where using sqlca3;
else
return
end if
這就行啊
uj5u.com熱心網友回復:
1樓的語法沒問題,估計是資料的問題.轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/117879.html
標籤:數據庫相關
上一篇:新人求救:excel匯入資料庫
下一篇:一、MySQL基礎知識
