91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

如何實現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

即墨市| 班玛县| 江陵县| 阿拉善右旗| 祁连县| 景谷| 平泉县| 岳西县| 阿拉善盟| 洛南县| 揭阳市| 阜城县| 呈贡县| 杨浦区| 甘孜县| 临安市| 惠来县| 凯里市| 广丰县| 盐源县| 台中市| 定兴县| 磐安县| 滨海县| 封丘县| 樟树市| 兴国县| 黄冈市| 富阳市| 乡宁县| 荃湾区| 西畴县| 柳江县| 乌兰察布市| 木里| 四川省| 额尔古纳市| 太仆寺旗| 马关县| 星子县| 维西|