热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在VB.NET中如何调用SQLServer存储过程

定义数据链接部分省略,myConn为链接对象ProcName为存储过程名1.调用存储过程,但无返回值PrivateFunctionSqlProc1(By
定义数据链接部分省略, myConn为链接对象 ProcName为存储过程名


1.调用存储过程,但无返回值

Private Function SqlProc1(ByVal ProcName As String) As Boolean

'定义数据链接部分省略, 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.调用存储过程,返回普通值

Private Function SqlProc1(ByVal ProcName As String) As String

'定义数据链接部分省略, 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代码

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

'定义一个数据适配器,并设置参数

Dim myDapter As New SqlClient.SqlDataAdapter(myCommand)

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

'定义一个数据集对象,并填充数据集

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

***如果将存储过程修改部分内容,可以做为查询使用


CREATEProc Test
@name varchar(200)=''
--此处应该注意200为查询条件的长度,可以根据实际情况而定;但不建议用于过长的查询条件
As
Declare @sql1 varchar(8000)
if &#64;name<>&#39;&#39;
Select &#64;sql1&#61;&#39;Select * From EC_Grade where &#39;&#43; &#64;name
else
Select &#64;sql1&#61;&#39;Select * From EC_Grade&#39;
exec(&#64;sql1)
GO



推荐阅读
author-avatar
cb风雨彩虹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有