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