dbExpress调用带参数的存储过程时出现问题 |
尚未結案
|
NoSound
一般會員 發表:1 回覆:5 積分:1 註冊:2003-11-03 發送簡訊給我 |
大家好。第一次发言,因我使用GB2312之简体中文,不知大家是否会在浏览里只看到乱码。而且大陆的习惯用词与台湾有所不同,所以我尽是使用英文单词。
-------问题如下(我认为是dbexpmss.dll的buf)----
开启一个新的Project,在Form1上添加一个TSQLConnection,DriverName设为MSSQL,其他参数全部设置好,可以正确连接到SQL Server 7.0(双击Connected属性可将其值设为True)。
然后再添加一个TSQLStoredProc,将其SQLConnection指向刚才建立的TSQLConnection元件,这时候问题出现了:
按道理说,这里拉下TSQLStoredProc元件的StoredProcName属性,应该能看到数据库中的所有StoredProc名字(用ADO或BDE是可行的),但是根本看不到,是空的。
手工输入服务器中存在的存储过程名(这个存储过程是带参数的),双击TSQLStoredProc的Active属性,提示“过程XXXX需要一个名为XXXX的参数”,说明它能正确访问服务器的存储过程,只是没有参数而已。
如果是ADO或BED,那么一旦正确设置了过程名,参数是自动生成的。而现在没有生成,试着手工加一个参数,参数名无论是否正确,参数个数无论是多少,再试图连接服务器过程时,提示:List index out of bounds(0)。
这是举了一个设计时刻的例子,如果运行时刻,也有同样的问题。
--------------
我在网络上搜索过,发现很多人遇到过同样问题,都没能解决,后来我找到一个第三方的MSSQL Driver for dbExpress,问题就不存在了。所以,我认为这是dbexpmss.dll的一个BUG。不知各位有何见解?
-----------------
附注:我的DELPHI7.0已升级过Upgrade 1,即dpexpmss.dll已经是最新的了。
连MSSQL是这样的错误,连Oralce也是一样。
|
NoSound
一般會員 發表:1 回覆:5 積分:1 註冊:2003-11-03 發送簡訊給我 |
(擔心大家看不到,所以轉碼後再發一次)
大家好。第一次發言,因我使用GB2312之簡體中文,不知大家是否會在瀏覽裏只看到亂碼。而且大陸的習慣用詞與臺灣有所不同,所以我儘是使用英文單詞。
-------問題如下(我認爲是dbexpmss.dll的buf)----
開啓一個新的Project,在Form1上添加一個TSQLConnection,DriverName設爲MSSQL,其他參數全部設置好,可以正確連接到SQL Server 7.0(雙擊Connected屬性可將其值設爲True)。
然後再添加一個TSQLStoredProc,將其SQLConnection指向剛才建立的TSQLConnection元件,這時候問題出現了:
按道理說,這里拉下TSQLStoredProc元件的StoredProcName屬性,應該能看到數據庫中的所有StoredProc名字(用ADO或BDE是可行的),但是根本看不到,是空的。
手工輸入服務器中存在的存儲過程名(這個存儲過程是帶參數的),雙擊TSQLStoredProc的Active屬性,提示“過程XXXX需要一個名爲XXXX的參數”,說明它能正確訪問服務器的存儲過程,只是沒有參數而已。
如果是ADO或BED,那麽一旦正確設置了過程名,參數是自動生成的。而現在沒有生成,試著手工加一個參數,參數名無論是否正確,參數個數無論是多少,再試圖連接服務器過程時,提示:List index out of bounds(0)。
這是舉了一個設計時刻的例子,如果運行時刻,也有同樣的問題。
--------------
我在網絡上搜索過,發現很多人遇到過同樣問題,都沒能解決,後來我找到一個第三方的MSSQL Driver for dbExpress,問題就不存在了。所以,我認爲這是dbexpmss.dll的一個BUG。不知各位有何見解?
-----------------
附注:我的DELPHI7.0已升級過Upgrade 1,即dpexpmss.dll已經是最新的了。
連MSSQL是這樣的錯誤,連Oralce也是一樣。 大家好。第一次發言,因我使用GB2312之簡體中文,不知大家是否會在瀏覽裏只看到亂碼。而且大陸的習慣用詞與臺灣有所不同,所以我儘是使用英文單詞。
-------問題如下(我認爲是dbexpmss.dll的buf)----
開啓一個新的Project,在Form1上添加一個TSQLConnection,DriverName設爲MSSQL,其他參數全部設置好,可以正確連接到SQL Server 7.0(雙擊Connected屬性可將其值設爲True)。
然後再添加一個TSQLStoredProc,將其SQLConnection指向剛才建立的TSQLConnection元件,這時候問題出現了:
按道理說,這里拉下TSQLStoredProc元件的StoredProcName屬性,應該能看到數據庫中的所有StoredProc名字(用ADO或BDE是可行的),但是根本看不到,是空的。
手工輸入服務器中存在的存儲過程名(這個存儲過程是帶參數的),雙擊TSQLStoredProc的Active屬性,提示“過程XXXX需要一個名爲XXXX的參數”,說明它能正確訪問服務器的存儲過程,只是沒有參數而已。
如果是ADO或BED,那麽一旦正確設置了過程名,參數是自動生成的。而現在沒有生成,試著手工加一個參數,參數名無論是否正確,參數個數無論是多少,再試圖連接服務器過程時,提示:List index out of bounds(0)。
這是舉了一個設計時刻的例子,如果運行時刻,也有同樣的問題。
--------------
我在網絡上搜索過,發現很多人遇到過同樣問題,都沒能解決,後來我找到一個第三方的MSSQL Driver for dbExpress,問題就不存在了。所以,我認爲這是dbexpmss.dll的一個BUG。不知各位有何見解?
-----------------
附注:我的DELPHI7.0已升級過Upgrade 1,即dpexpmss.dll已經是最新的了。
連MSSQL是這樣的錯誤,連Oralce也是一樣。
|
apl
一般會員 發表:5 回覆:4 積分:1 註冊:2003-04-08 發送簡訊給我 |
TSQLStoredProc.SchemaName := 'xxx'; // 'xxx'為SP之擁有者 參考: http://groups.google.com/groups?hl=zh-TW&lr=&ie=UTF-8&inlang=zh-TW&newwindow=1&threadm=3ea8adaa%40newsgroups.borland.com&rnum=6&prev=/groups%3Fhl%3Dzh-TW%26lr%3D%26ie%3DBig5%26newwindow%3D1%26q%3Ddelphi%2Bstored%2Bprocedure%2B%2Blist%2Bindex%2Berror%26btnG%3DGoogle%2B%25B7j%25B4M
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |