VB.NET調(diào)用SQL Server存儲過程
VB.NET編程語言對于數(shù)據(jù)庫的操作,我們51CTO以前也介紹了不少。比如VB.NET數(shù)據(jù)庫壓縮的實現(xiàn)方法,VB.NET操作MySql數(shù)據(jù)庫的具體操作技巧等等。那么今天大家將會了解到VB.NET調(diào)用SQL Server存儲過程的相關(guān)應(yīng)用方法。
定義數(shù)據(jù)鏈接部分省略, myConn為鏈接對象 ProcName為存儲過程名
1.VB.NET調(diào)用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調(diào)用SQL Server存儲過程返回普通值
- Private Function SqlProc1(ByVal ProcName As String) As String
- '定義數(shù)據(jù)鏈接部分省略, myConn為鏈接對象
- Dim myCommand As New SqlClient.SqlCommand(ProcName, myConn)
- With myCommand
- .CommandType = CommandType.StoredProcedure
- .Parameters.Add("@CodeType", SqlDbType.VarChar, 20).Value = "年級編碼"
- .Parameters.Add("@NewCode", SqlDbType.VarChar, 20).
Direction = ParameterDirection.Output- Try
- .ExecuteNonQuery()
- Return .Parameters(1).Value()
- Catch ex As Exception
- Return "無編碼生成"
- End Try
- End Function
3.VB.NET調(diào)用SQL Server存儲過程返回數(shù)據(jù)集
- 'VB.NET代碼
- Private Function SqlProc2(ByVal ProcName As String,
ByVal Param1 As String) As DataSet- '定義命令對象,并使用儲存過程
- Dim myCommand As New SqlClient.SqlCommand
- myCommand.CommandType = CommandType.StoredProcedure
- myCommand.CommandText = ProcName
- myCommand.Connection = myConn
- '定義一個數(shù)據(jù)適配器,并設(shè)置參數(shù)
- Dim myDapter As New SqlClient.SqlDataAdapter(myCommand)
- myDapter.SelectCommand.Parameters.Add
("@name", SqlDbType.VarChar, 20).Value = Param1- '定義一個數(shù)據(jù)集對象,并填充數(shù)據(jù)集
- Dim myDataSet As New DataSet
- Try
- myDapter.Fill(myDataSet)
- Catch ex As Exception
- End Try
- Return myDataSet
- End Function
存儲過程代碼
- Create Proc Test @name varchar(20) As
- Select * From EC_Grade where cGradeName=@name
- GO
- ***如果將存儲過程修改部分內(nèi)容,可以做為查詢使用
- CREATE Proc Test
- @name varchar(200)=''
- --此處應(yīng)該注意200為查詢條件的長度,可以根據(jù)實際情況而定;
但不建議用于過長的查詢條件- As
- Declare @sql1 varchar(8000)
- if @name<>''
- Select @sql1='Select * From EC_Grade where '+ @name
- else
- Select @sql1='Select * From EC_Grade'
- exec(@sql1)
- GO
VB.NET調(diào)用SQL Server存儲過程的相關(guān)應(yīng)用方法就為大家介紹到這里。
【編輯推薦】