亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現ADO測試程序

發布時間:2021-12-04 14:16:33 來源:億速云 閱讀:212 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關如何實現ADO測試程序,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

原來在Sql Server及Oracle上操作時,執行完成后直接把連接關閉了。返回的參數想怎么處理就怎么處理,并不會出錯,注意使用COM交互操作訪問ADO的數據將極大的降低性能。

不知道這里有多少人用Sybase做數據庫開發的,我是有點受不了了。用了ADO測試程序,沖破重重阻力,終于系統算是正常運行了,要做更進一步的處理:增加數據權限。我們原來是在Sql Server上用函數直接返回的結果集來判斷的。

但是Sybase不支持函數,只好用存儲過程返回一個判斷權限的條件字符串動態執行。問題是取出輸出參數總提提示“Command has been closed”。奇怪啊,明明執行的時候是Open了Connection了。寫了一個ADO測試程序

 AseConnection con = new AseConnection("Data Source='SYBASE'; Port=5000; UID='sa'; PWD=''; Database='data';Connection Timeout='300';") ;   AseCommand com = new AseCommand("GetDataRightSQL", con) ;   com.CommandType = System.Data.CommandType.StoredProcedure ;   try   {   AseParameter prm = new AseParameter("@UserID", 1) ;   //prm.Direction = System.Data.ParameterDirection.Input ;   com.Parameters.Add(prm) ;   prm = new AseParameter("@Category","Department") ;   com.Parameters.Add(prm) ;   com.Parameters.Add(new AseParameter("@FieldName", "Dept_ID")) ;   prm = new AseParameter("@returnSql", AseDbType.VarChar, 250) ;   prm.Direction = System.Data.ParameterDirection.Output ;   com.Parameters.Add(prm) ;   con.Open() ;   com.ExecuteNonQuery() ;   Console.WriteLine(com.Parameters["@returnSql"].Value) ;

由于是我們有一個數據層專門處理數據庫操作,開始懷疑封裝的不好了。檢查了N次也不知道在哪出錯,ADO測試程序總以為是輸出參數類型有問題,試過幾次,長度也改過。不行。
后來注意到:跟蹤執行的時候執行成功,總是在取參數的時候出錯。

再看一下錯誤信息“Command has been closed”,暈!ADO測試程序不會是取參數值的時候要求數據庫連接保持Open狀態吧? 修改一下測試代碼:

AseParameter prm = new AseParameter("@UserID", 1) ;   //   prm.Direction = System.Data.ParameterDirection.Input ;   com.Parameters.Add(prm) ;   prm = new AseParameter("@Category","Department") ;   com.Parameters.Add(prm) ;   com.Parameters.Add(new AseParameter("@FieldName", "Dept_ID")) ;   prm = new AseParameter("@returnSql", AseDbType.VarChar, 250) ;   prm.Direction = System.Data.ParameterDirection.Output ;   com.Parameters.Add(prm) ;   con.Open() ;   com.ExecuteNonQuery() ;   con.Close() ; //提前關閉數據庫   Console.WriteLine(com.Parameters["@returnSql"].Value) ;

關于“如何實現ADO測試程序”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

ado
AI

黔西县| 奇台县| 财经| 嘉定区| 皮山县| 衢州市| 慈利县| 南丹县| 虞城县| 福建省| 晋城| 班玛县| 琼结县| 邵阳市| 房山区| 武胜县| 西城区| 安化县| 丽江市| 奈曼旗| 普宁市| 丘北县| 满洲里市| 湘乡市| 项城市| 恩平市| 安塞县| 鸡泽县| 务川| 丹寨县| 蕉岭县| 商水县| 石台县| 敖汉旗| 喀什市| 双柏县| 丰城市| 七台河市| 沁源县| 荥经县| 临漳县|