線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1043
推到 Plurk!
推到 Facebook!

query間的關聯?為何沒有值產生?

答題得分者是:Justmade
challenge
一般會員


發表:14
回覆:41
積分:11
註冊:2002-10-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-15 19:37:04 IP:211.74.xxx.xxx 未訂閱
請問各位前輩…我現在試著利用query來做關聯 query1:Select CRS_ID,QUES_ID,TEA_ID,count(*) as people From CLASS_QUES Group by QUES_ID, CRS_ID,TEA_ID datasource1的dataset為query1 query2:Select selrt.QUES_ID,selrt.CRS_ID,selrt.TEA_ID,selrt.QS_NO,selrt.QS_SEL_ANS,count(*) as TOTAL From QUES_SEL_RT selrt Where selrt.CRS_ID=:CRS_ID and selrt.QUES_ID=:QUES_ID and selrt.TEA_ID=:TEA_ID Group by selrt.QUES_ID,selrt.CRS_ID,selrt.TEA_ID,selrt.QS_NO,selrt.QS_SEL_ANS datasource2的dataset為query2 query2的datasource為datasource1 DBGrid1的datasource為datasource2 可是為何執行後DBGrid1並沒有值產生??謝謝…^^
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-15 20:29:26 IP:218.16.xxx.xxx 未訂閱
不足夠資料呢 SQL 看起來好像沒錯的樣子,但由於我們不知道你的數據庫有甚麼資料,所以比較難看問題出在那裡。 最好的方法是,你是執行 Query1 並將首筆資料的數據代入 Query 的變數中,然後執行 Query2 (在 SQL Explorer 較易) 看看有沒有資料出來,若也沒有,即是你 QUES_SEL_RT 根本就沒附合的資料啦。 另外,你可在 Query2 的 Params 按 ... 叫出 Param editor,將那三個 Param 的 DataType 和 Value.Type 改成 interger,也許會有幫助。
challenge
一般會員


發表:14
回覆:41
積分:11
註冊:2002-10-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-15 21:02:21 IP:211.74.xxx.xxx 未訂閱
引言: 不足夠資料呢 SQL 看起來好像沒錯的樣子,但由於我們不知道你的數據庫有甚麼資料,所以比較難看問題出在那裡。 最好的方法是,你是執行 Query1 並將首筆資料的數據代入 Query 的變數中,然後執行 Query2 (在 SQL Explorer 較易) 看看有沒有資料出來,若也沒有,即是你 QUES_SEL_RT 根本就沒附合的資料啦。 這一段不太懂…若我沒用變數而以真實資料下去代的話…會有值出來…表示 QUES_SEL_RT有值與之對應…而您說的將首筆資料的數據代入 Query 的變數中, 再執行Query2 ,是另一種方式嗎?不好意思…不太懂!^^ 另外,你可在 Query2 的 Params 按 ... 叫出 Param editor,將那三個 Param 的 DataType 和 Value.Type 改成 interger,也許會有幫助。 為何將這三個Param改成interger會有幫助?呵…我試了…不過… 結果還是一樣^^"
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-15 21:29:28 IP:218.16.xxx.xxx 未訂閱
真實資料是要Query1的第一筆資料才有意思,你為你的程式執行時就是將你 Query1 的第一筆資料的 QUES_ID, CRS_ID 和 TEA_ID 填進 Query2 內再執行。 你可試試執行並顯示 Query 1 ,抄下該三欄資料然後試試 1. 埴入 Params.Value 內 2. 直接寫入 Query2 的 SQL 內 這樣你就能較易找出問題出在那裡了。
challenge
一般會員


發表:14
回覆:41
積分:11
註冊:2002-10-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-15 22:22:14 IP:211.74.xxx.xxx 未訂閱
引言: 真實資料是要Query1的第一筆資料才有意思,你為你的程式執行時就是將你 Query1 的第一筆資料的 QUES_ID, CRS_ID 和 TEA_ID 填進 Query2 內再執行。 你可試試執行並顯示 Query 1 ,抄下該三欄資料然後試試 1. 埴入 Params.Value 內 2. 直接寫入 Query2 的 SQL 內 這樣你就能較易找出問題出在那裡了。 這樣試過之後,它會顯示出我給它的那三欄資料所該顯示的值,可又將它換 回變數後,它一樣不會有值…?? 唉呀呀…真是奇怪?
challenge
一般會員


發表:14
回覆:41
積分:11
註冊:2002-10-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-15 22:29:52 IP:211.74.xxx.xxx 未訂閱
引言: 真實資料是要Query1的第一筆資料才有意思,你為你的程式執行時就是將你 Query1 的第一筆資料的 QUES_ID, CRS_ID 和 TEA_ID 填進 Query2 內再執行。 你可試試執行並顯示 Query 1 ,抄下該三欄資料然後試試 1. 埴入 Params.Value 內 2. 直接寫入 Query2 的 SQL 內 這樣你就能較易找出問題出在那裡了。 嗯…我大概知道問題在哪?只是…params.value只會抓一筆資料嗎? 它不會連續抓query1的值而產生嗎?
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-03-15 23:05:28 IP:218.16.xxx.xxx 未訂閱
不是啦, Query2 現在是 Quest1 的子 table 嘛,即是 Query2 只包含 Query1 的指標的相關資料。 所以一開始時,Query2 只顯示 Query1 的第一筆資料的相關資料,若你執行 Query1.Next Query2 就變成只顯示 Query1 第二筆資料的相關資料,如些類推。 你不是正想這樣嗎?
challenge
一般會員


發表:14
回覆:41
積分:11
註冊:2002-10-08

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-03-15 23:58:41 IP:211.74.xxx.xxx 未訂閱
引言: 不是啦, Query2 現在是 Quest1 的子 table 嘛,即是 Query2 只包含 Query1 的指標的相關資料。 所以一開始時,Query2 只顯示 Query1 的第一筆資料的相關資料,若你執行 Query1.Next Query2 就變成只顯示 Query1 第二筆資料的相關資料,如些類推。 你不是正想這樣嗎?
非常謝謝你…我終於了解這樣的做法結果為何? 跟我一開始的想法有些出入…謝謝你哦…^^
系統時間:2024-06-28 18:37:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!