存儲過程中使用RETURN語句返回數值,.Net裏用ExecuteScalar方法結果將會導致一個未引用到具體對象的異常

如果在存儲過程中使用RETURN語句返回數值,.Net裏用ExecuteScalar方法結果將會導致一個未引用到具體對象的異常,因爲ExecuteScalar方法執行查詢,並返回查詢所返回的結果集中第一行的第一列。所有其他的列和行將被忽略。但是Return並不返回數據集,所以造成異常。

 

解決方法:

1、對存儲過程動手,在存儲過程中改由Select語句代替reutrn語句返回即可解決此問題。

2、通過ADO.Net來實現,使用SqlParameter設置Direction = ParameterDirection.ReturnValue,當然也沒必要使用ExecuteScalar語句了,使用ExecuteNoneQuery都可以。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章