在字符串編輯器中使用Lazarus IDE 1.014中的TAdsquery組件(11.1),並使用以下語法。只有在設計模式下並且設置爲活動狀態時,查詢才能在DBgrid中正常工作。它也適用於Advanatge Data Archetect。 但是,在編譯期間或編譯後嘗試從代碼中打開它,代碼或組件會給我一個'無法獲得句柄錯誤'。 (嘗試兩種方式)檢查所有的表,他們似乎確定。 (查詢中涉及4個表格)。以下是在字符串編輯器中查詢: 選擇 FOOD_DES.Long_Desc, NUTR_DEF.NutrDesc, NUT_DATA.Nutr_No, NUT_DATA.Nutr_Val, NUT_DATA.Num_Data_Pts, NUT_DATA.Std_Error, NUT_DATA.Src_Cd, NUT_DATA。 Deriv_Cd, SYNC.NDB_no作爲NDB_no1 從 FOOD_DES內加入 SYNC在FOOD_DES.NDB_No = SYNC.NDB_no, NUTR_DEF, NUT_DATA 其中 NUTR_DEF.Nutr_No = NUT_DATA.Nutr_No而 NUT_DATA.NDB_No = SYNC.NDB_no 順序按 NDB_no1Adsquery句柄錯誤
這是我的代碼打開它的嘗試,但我得到同樣的「處理錯誤」
adsQuery1.Close;{close the query}
//assign new SQL expression
adsQuery1.SQL.Clear;
adsQuery1.SQL.Add ('Select FOOD_DES.Long_Desc,NUTR_DEF.NutrDesc,NUT_DATA.Nutr_No,NUT_DATA.Nutr_Val,NUT_DATA.Num_Data_Pts,NUT_DATA.Std_Error,NUT_DATA.Src_Cd,NUT_DATA.Deriv_Cd,SYNC.NDB_no As NDB_no1');
adsQuery1.SQL.Add ('FROM FOOD_DES Inner Join SYNC On FOOD_DES.NDB_No = SYNC.NDB_no, NUTR_DEF,NUT_DATA');
adsQuery1.SQL.Add ('WHERE NUTR_DEF.Nutr_No = NUT_DATA.Nutr_No And NUT_DATA.NDB_No = SYNC.NDB_no');
adsQuery1.RequestLive := true;
adsQuery1.Open;
任何幫助,將不勝感激。不知道我是否在屬性對話框和/或代碼中正確設置了所有參數。這些組件是Adsquery1鏈接到Datasource13和DBgrid1。