溫馨提示×

溫馨提示×

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

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

VB.NET調用SQL Server的存儲過程

發(fā)布時間:2021-10-27 18:12:39 來源:億速云 閱讀:288 作者:柒染 欄目:編程語言

VB.NET調用SQL Server的存儲過程,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

VB.NET編程語言對于數(shù)據(jù)庫的操作,我們51CTO以前也介紹了不少。比如VB.NET數(shù)據(jù)庫壓縮的實現(xiàn)方法,VB.NET操作MySql數(shù)據(jù)庫的具體操作技巧等等。

定義數(shù)據(jù)鏈接部分省略, myConn為鏈接對象 ProcName為存儲過程名

1.VB.NET調用SQL Server存儲過程時無返回值

Private Function SqlProc1(ByVal ProcName As String) As Boolean  '定義數(shù)據(jù)鏈接部分省略, myConn為鏈接對象 ProcName為存儲過程名  Dim myCommand As New SqlClient.SqlCommand(ProcName, myConn)  With myCommand  .CommandType = CommandType.StoredProcedure  .Parameters.Add("@CodeType", SqlDbType.VarChar, 20).Value = "年級編碼" Try  .ExecuteNonQuery()  Return True  Catch ex As Exception  Return False  End Try   End Function

2.VB.NET調用SQL Server存儲過程返回普通值

  1. Private Function SqlProc1(ByVal ProcName As String) As String  

  2. '定義數(shù)據(jù)鏈接部分省略, myConn為鏈接對象  

  3. Dim myCommand As New SqlClient.SqlCommand(ProcName, myConn)  

  4. With myCommand  

  5. .CommandType = CommandType.StoredProcedure  

  6. .Parameters.Add("@CodeType", SqlDbType.VarChar, 20).Value = "年級編碼" 

  7. .Parameters.Add("@NewCode", SqlDbType.VarChar, 20).
    Direction = ParameterDirection.Output  

  8. Try  

  9. .ExecuteNonQuery()  

  10. Return .Parameters(1).Value()  

  11. Catch ex As Exception  

  12. Return "無編碼生成"  

  13. End Try   

  14. End Function 

3.VB.NET調用SQL Server存儲過程返回數(shù)據(jù)集

  1. 'VB.NET代碼  

  2. Private Function SqlProc2(ByVal ProcName As String, 
    ByVal Param1 As String) As DataSet  

  3. '定義命令對象,并使用儲存過程  

  4. Dim myCommand As New SqlClient.SqlCommand  

  5. myCommand.CommandType = CommandType.StoredProcedure  

  6. myCommand.CommandText = ProcName 

  7. myCommand.Connection = myConn 

  8. '定義一個數(shù)據(jù)適配器,并設置參數(shù)  

  9. Dim myDapter As New SqlClient.SqlDataAdapter(myCommand)  

  10. myDapter.SelectCommand.Parameters.Add
    ("@name", SqlDbType.VarChar, 20).Value = Param1 

  11. '定義一個數(shù)據(jù)集對象,并填充數(shù)據(jù)集  

  12. Dim myDataSet As New DataSet  

  13. Try  

  14. myDapter.Fill(myDataSet)  

  15. Catch ex As Exception  

  16. End Try  

  17. Return myDataSet  

  18. End Function 

存儲過程代碼

  1. Create Proc Test @name varchar(20) As   

  2. Select * From EC_Grade where cGradeName=@name  

  3. GO  

  4. ***如果將存儲過程修改部分內容,可以做為查詢使用  

  5. CREATE Proc Test   

  6. @name varchar(200)=''   

  7. --此處應該注意200為查詢條件的長度,可以根據(jù)實際情況而定;
    但不建議用于過長的查詢條件  

  8. As  

  9. Declare @sql1 varchar(8000)  

  10. if @name<>''   

  11. Select @sql1='Select * From EC_Grade where '+ @name  

  12. else  

  13. Select @sql1='Select * From EC_Grade' 

  14. exec(@sql1)  

  15. GO 

關于VB.NET調用SQL Server的存儲過程問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

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

AI