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

dbExpress调用带参数的存储过程时出现问题

尚未結案
NoSound
一般會員


發表:1
回覆:5
積分:1
註冊:2003-11-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-03 10:06:41 IP:218.88.xxx.xxx 未訂閱
大家好。第一次发言,因我使用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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-03 10:10:37 IP:218.88.xxx.xxx 未訂閱
(擔心大家看不到,所以轉碼後再發一次) 大家好。第一次發言,因我使用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

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