日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
執(zhí)行ADO測(cè)試程序相關(guān)使用說(shuō)明

原來(lái)在Sql Server及Oracle上操作時(shí),執(zhí)行完成后直接把連接關(guān)閉了。返回的參數(shù)想怎么處理就怎么處理,并不會(huì)出錯(cuò),注意使用COM交互操作訪問ADO的數(shù)據(jù)將極大的降低性能。

不知道這里有多少人用Sybase做數(shù)據(jù)庫(kù)開發(fā)的,我是有點(diǎn)受不了了。用了ADO測(cè)試程序,沖破重重阻力,終于系統(tǒng)算是正常運(yùn)行了,要做更進(jìn)一步的處理:增加數(shù)據(jù)權(quán)限。我們?cè)瓉?lái)是在Sql Server上用函數(shù)直接返回的結(jié)果集來(lái)判斷的。#t#

但是Sybase不支持函數(shù),只好用存儲(chǔ)過(guò)程返回一個(gè)判斷權(quán)限的條件字符串動(dòng)態(tài)執(zhí)行。問題是取出輸出參數(shù)總提提示“Command has been closed”。奇怪啊,明明執(zhí)行的時(shí)候是Open了Connection了。寫了一個(gè)ADO測(cè)試程序:

 
 
  1.  AseConnection con = new AseConnection("Data Source='SYBASE'; Port=5000; UID='sa'; PWD=''; Database='data';Connection Timeout='300';") ;   
  2. AseCommand com = new AseCommand("GetDataRightSQL", con) ;   
  3. com.CommandType = System.Data.CommandType.StoredProcedure ;   
  4. try   
  5. {   
  6. AseParameter prm = new AseParameter("@UserID", 1) ;   
  7. //prm.Direction = System.Data.ParameterDirection.Input ;   
  8. com.Parameters.Add(prm) ;   
  9. prm = new AseParameter("@Category","Department") ;   
  10. com.Parameters.Add(prm) ;   
  11. com.Parameters.Add(new AseParameter("@FieldName", "Dept_ID")) ;   
  12. prm = new AseParameter("@returnSql", AseDbType.VarChar, 250) ;   
  13. prm.Direction = System.Data.ParameterDirection.Output ;   
  14. com.Parameters.Add(prm) ;   
  15. con.Open() ;   
  16. com.ExecuteNonQuery() ;   
  17. Console.WriteLine(com.Parameters["@returnSql"].Value) ;  

由于是我們有一個(gè)數(shù)據(jù)層專門處理數(shù)據(jù)庫(kù)操作,開始懷疑封裝的不好了。檢查了N次也不知道在哪出錯(cuò),ADO測(cè)試程序總以為是輸出參數(shù)類型有問題,試過(guò)幾次,長(zhǎng)度也改過(guò)。不行。
后來(lái)注意到:跟蹤執(zhí)行的時(shí)候執(zhí)行成功,總是在取參數(shù)的時(shí)候出錯(cuò)。

再看一下錯(cuò)誤信息“Command has been closed”,暈!ADO測(cè)試程序不會(huì)是取參數(shù)值的時(shí)候要求數(shù)據(jù)庫(kù)連接保持Open狀態(tài)吧? 修改一下測(cè)試代碼:

 
 
  1. AseParameter prm = new AseParameter("@UserID", 1) ;   
  2. //   prm.Direction = System.Data.ParameterDirection.Input ;   
  3. com.Parameters.Add(prm) ;   
  4. prm = new AseParameter("@Category","Department") ;   
  5. com.Parameters.Add(prm) ;   
  6. com.Parameters.Add(new AseParameter("@FieldName", "Dept_ID")) ;   
  7. prm = new AseParameter("@returnSql", AseDbType.VarChar, 250) ;   
  8. prm.Direction = System.Data.ParameterDirection.Output ;   
  9. com.Parameters.Add(prm) ;   
  10. con.Open() ;   
  11. com.ExecuteNonQuery() ;   
  12. con.Close() ; //提前關(guān)閉數(shù)據(jù)庫(kù)   
  13. Console.WriteLine(com.Parameters["@returnSql"].Value) ;  

新聞名稱:執(zhí)行ADO測(cè)試程序相關(guān)使用說(shuō)明
文章源于:http://www.5511xx.com/article/dpdspjh.html