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

使用adoquery 出現msvcrt.dll問題

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


發表:4
回覆:1
積分:1
註冊:2006-07-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-11-14 15:23:16 IP:61.220.xxx.xxx 訂閱
請教各位前輩:
當我執行以下sql 時,會出現msvcrt.dll錯誤,參考如下:

1.adoqry.SQL.Add('SELECT LEFT(TG042,6) AS TG042,TG004,MAX(MA002) AS MA002,TG005,MA017,MAX(MR003) AS MR003,TG006,MB006,SUM(TH013)AS TH013 FROM COPTG');
2. adoqry.SQL.Add(' LEFT JOIN COPTH ON TG001=TH001 AND TG002=TH002');
3. adoqry.SQL.Add(' LEFT JOIN INVMB ON MB001=TH004');
4. adoqry.SQL.Add(' LEFT JOIN COPMA ON MA001=TG004');
5. adoqry.SQL.Add(' LEFT JOIN CMSMR ON MR002=MA017');
6. adoqry.SQL.Add(' WHERE TG042 >=:Y1 AND TG042<=:Y2');
7. adoqry.SQL.Add(' AND TG023 =''Y''');
8. adoqry.SQL.Add(' AND LEFT(TG006,2)=:TG006');
9. adoqry.SQL.Add(' GROUP BY TG042,TG004,TG005,MA017,TG006,MB006');
10. adoqry.SQL.Add(' HAVING SUM(TH013)>0');
11. adoqry.SQL.Add(' ORDER BY TG042,TG004,MA017,MB006');

當執行到第7行時,就會出現
Access violation at address 77C1809E in module ‘msvcrt.dll’.
Write of address 03D16000’.

這是什麼原因呢,我有試著把adoquery.cachesize 調為3000但還是不行,
但是若把第3、4、5行remark起來就ok,是cache 不夠大嗎?
還是哪裡我沒有設定好呢,請各位前輩指導小弟,謝謝。



P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-11-14 20:16:31 IP:118.169.xxx.xxx 未訂閱
請問你有沒有試過把這些變成一句話
adoqry.sql.text:= 'select .....' 就好了
使用 sql.add 不但浪費資源同時還損耗效能, 這猶如
我由台北到宜蘭, 直接坐到一趟車就可到, 但非得要從台北先坐到屏東,再搭南迴到台東, 轉花東線到花蓮, 再由花蓮搭北迴到宜蘭一樣
先試試一句話看看能不能過吧!
===================引 用 shawn_hsu 文 章===================
請教各位前輩:
當我執行以下sql 時,會出現msvcrt.dll錯誤,參考如下:

1.adoqry.SQL.Add('SELECT LEFT(TG042,6) AS TG042,TG004,MAX(MA002) AS MA002,TG005,MA017,MAX(MR003) AS MR003,TG006,MB006,SUM(TH013)AS TH013 FROM COPTG');
2. adoqry.SQL.Add(' LEFT JOIN COPTH ON TG001=TH001 AND TG002=TH002');
3. adoqry.SQL.Add(' LEFT JOIN INVMB ON MB001=TH004');
4. adoqry.SQL.Add(' LEFT JOIN COPMA ON MA001=TG004');
5. adoqry.SQL.Add(' LEFT JOIN CMSMR ON MR002=MA017');
6. adoqry.SQL.Add(' WHERE TG042 >=:Y1 AND TG042<=:Y2');
7. adoqry.SQL.Add(' AND TG023 =''Y''');
8. adoqry.SQL.Add(' AND LEFT(TG006,2)=:TG006');
9. adoqry.SQL.Add(' GROUP BY TG042,TG004,TG005,MA017,TG006,MB006');
10. adoqry.SQL.Add(' HAVING SUM(TH013)>0');
11. adoqry.SQL.Add(' ORDER BY TG042,TG004,MA017,MB006');

當執行到第7行時,就會出現
Access violation at address 77C1809E in module ‘msvcrt.dll’.
Write of address 03D16000’.

這是什麼原因呢,我有試著把adoquery.cachesize 調為3000但還是不行,
但是若把第3、4、5行remark起來就ok,是cache 不夠大嗎?
還是哪裡我沒有設定好呢,請各位前輩指導小弟,謝謝。



it1506
初階會員


發表:32
回覆:89
積分:49
註冊:2011-02-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-11-15 08:17:27 IP:59.120.xxx.xxx 未訂閱
 你要不要把 add改成用 + 的
那個add效率真的很差

然後...adoquery 這個東西
會有一些無法解釋的錯誤

編輯記錄
it1506 重新編輯於 2011-11-14 17:18:38, 註解 無‧
shawn_hsu
一般會員


發表:4
回覆:1
積分:1
註冊:2006-07-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2011-11-15 13:56:35 IP:61.220.xxx.xxx 訂閱
P.D 版主您好:
小弟有嘗試您說的改成sql.text='....'的方式,但執行到adoquery.open時還是會出現相同的錯誤字眼,這是為什麼呢,難道是資料太多導致的嗎?謝謝。
===================引 用 P.D. 文 章===================
請問你有沒有試過把這些變成一句話
adoqry.sql.text:= 'select .....' 就好了
使用 sql.add 不但浪費資源同時還損耗效能, 這猶如
我由台北到宜蘭, 直接坐到一趟車就可到, 但非得要從台北先坐到屏東,再搭南迴到台東, 轉花東線到花蓮, 再由花蓮搭北迴到宜蘭一樣
先試試一句話看看能不能過吧!
===================引 用 shawn_hsu 文 章===================
請教各位前輩:
當我執行以下sql 時,會出現msvcrt.dll錯誤,參考如下:

1.adoqry.SQL.Add('SELECT LEFT(TG042,6) AS TG042,TG004,MAX(MA002) AS MA002,TG005,MA017,MAX(MR003) AS MR003,TG006,MB006,SUM(TH013)AS TH013 FROM COPTG');
2. adoqry.SQL.Add(' LEFT JOIN COPTH ON TG001=TH001 AND TG002=TH002');
3. adoqry.SQL.Add(' LEFT JOIN INVMB ON MB001=TH004');
4. adoqry.SQL.Add(' LEFT JOIN COPMA ON MA001=TG004');
5. adoqry.SQL.Add(' LEFT JOIN CMSMR ON MR002=MA017');
6. adoqry.SQL.Add(' WHERE TG042 >=:Y1 AND TG042<=:Y2');
7. adoqry.SQL.Add(' AND TG023 =''Y''');
8. adoqry.SQL.Add(' AND LEFT(TG006,2)=:TG006');
9. adoqry.SQL.Add(' GROUP BY TG042,TG004,TG005,MA017,TG006,MB006');
10. adoqry.SQL.Add(' HAVING SUM(TH013)>0');
11. adoqry.SQL.Add(' ORDER BY TG042,TG004,MA017,MB006');

當執行到第7行時,就會出現
Access violation at address 77C1809E in module ‘msvcrt.dll’.
Write of address 03D16000’.

這是什麼原因呢,我有試著把adoquery.cachesize 調為3000但還是不行,
但是若把第3、4、5行remark起來就ok,是cache 不夠大嗎?
還是哪裡我沒有設定好呢,請各位前輩指導小弟,謝謝。



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