全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2158
推到 Plurk!
推到 Facebook!

執行store procedure時發生的錯誤?

答題得分者是:hagar
macchen
初階會員


發表:66
回覆:102
積分:33
註冊:2006-07-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-02-08 10:56:28 IP:211.75.xxx.xxx 訂閱
請問各位,為何我在執行store procedure時,回傳回來的訊息都是「List index out of bounds (1)」,問題如下:
(1)這個訊息是什麼意思呢?
(2)請問有什麼種情況下,會回傳此訊息回來。
謝謝各位的幫忙,我的環境是sql server2000,delphi 7








delphi初學者
------
DELPHI初學者
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-02-08 11:42:56 IP:210.241.xxx.xxx 訂閱
索引值超出範圍
小弟不清楚您的 DB 和 Store procedure 內容,
以 array 來說, 假設 abc : array[1..10] of Integer;
如果您存取到 abc[11] , 可能就會發生類似錯誤訊息

------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
macchen
初階會員


發表:66
回覆:102
積分:33
註冊:2006-07-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-02-08 11:55:17 IP:211.75.xxx.xxx 訂閱
嗯,先謝謝你回覆我的問題,首先我的DB是MS SQL 2000,我的SP(Stored procedure簡稱)只是很單純的做update的動作,我是採用三層式的架構連結DB,但是不是很清楚此錯誤訊息是從CLIENT端發出的訊息(指的是可能是傳入的參數有問題),或是與SP發出的錯誤訊息,另外我傳入的全是ftstring的型別,我也沒有回傳值,所以我想請問一下,是否還有別的問題其回傳的訊息也與這個相同,而且我只有傳入值,不回傳結果,另外想請問一下,以你提到的例子有說到:
以 array 來說, 假設?? abc : array[1..10] of Integer;
如果您存取到 abc[11] , 可能就會發生類似錯誤訊息
但是我只傳入固定參數,這樣也會發生這個問題嗎?謝謝你的回覆,因為這個問題已經有段時間了,所以我想盡快解決,麻煩各位幫幫忙,謝謝。

===================引 用 文 章===================
索引值超出範圍
小弟不清楚您的 DB 和 Store procedure 內容,
以 array 來說, 假設?? abc : array[1..10] of Integer;
如果您存取到 abc[11] , 可能就會發生類似錯誤訊息

delphi初學者
------
DELPHI初學者
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-02-08 12:15:16 IP:61.219.xxx.xxx 訂閱
您是否使用 TList、TListBox、TListView、TStringList....這類 List 物件,但是存取的 Index 值超過 Count 值 ?
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
macchen
初階會員


發表:66
回覆:102
積分:33
註冊:2006-07-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-02-08 13:06:25 IP:211.75.xxx.xxx 訂閱
你好,這個訊息是在client端執行stored procedure後回傳回來錯誤的訊息,所以應該是跟你提到的那個物件無關,我是使用ADOStoredProc這個物件,所以應該不是list物件造成的訊息,謝謝你的回覆。

===================引 用 文 章===================
您是否使用 TList、TListBox、TListView、TStringList....這類 List 物件,但是存取的 Index 值超過 Count 值 ?
------
DELPHI初學者
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-02-08 13:57:39 IP:59.124.xxx.xxx 未訂閱
macchen
初階會員


發表:66
回覆:102
積分:33
註冊:2006-07-07

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-02-08 14:32:59 IP:211.75.xxx.xxx 訂閱
謝謝你的回覆,但是我的錯誤是「List index out of bounds (1)」,括號內的值是1,而我有做過一些實驗得到二個會出現此訊息的方式,如下:
1 此stored procedure不存在(表示沒有被建立起來),此時傳回的錯誤訊息就是「List index out of bounds (1)」,但根據enterprise manager內查看,是有此sp的,所以此問題不成立。
2 就是當sp內的變數數量不對時,例如,少第六個參數,則會報出的訊息是「List index out of bounds (6)」,但是也查過此sp也是所有變數都有。

因為我不是很懂,所以請各位幫忙,謝謝。
另外我看了你提供的文章,不知我有沒有看懂,我太概說一下,我登入mssql時都是使用管理者的權限,所以應該不會有不能使用該sp的問題,不知我是不是有說錯,謝謝你。

delphi初學者

===================引 用 文 章===================
參考:
http://www.tek-tips.com/viewthread.cfm?qid=950986&page=2
qc.borland.com/wc/qcmain.aspx
------
DELPHI初學者
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-02-08 20:31:38 IP:59.124.xxx.xxx 未訂閱
您是用哪個元件來執行 stored procedure 的?
如果是 TStoredProc 的話, StoredProcName 屬假設原本設定是 sp_proc1
改成 dbo.sp_proc1 試試
macchen
初階會員


發表:66
回覆:102
積分:33
註冊:2006-07-07

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-02-09 09:01:26 IP:211.75.xxx.xxx 訂閱
先謝謝你的回覆,我是使用ADOStoredProc來執行stored procedure的,我所有與DB相關的元件全是使用ADO的物件來實現的,那請問一下,如果是使用ADOStoredProc的話,那它的屬性是不是也需要設成dbo.sp_proc,謝謝。


delphi初學者

===================引 用 文 章===================
您是用哪個元件來執行 stored procedure 的?
如果是 TStoredProc 的話, StoredProcName 屬假設原本設定是 sp_proc1
改成 dbo.sp_proc1 試試

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