加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VB.NET调用SQL Server存储过程

发布时间:2020-12-16 22:28:55 所属栏目:大数据 来源:网络整理
导读:VB.NET编程语言对于数据库的操作,我们51CTO以前也介绍了不少。比如VB.NET数据库压缩的实现方法,VB.NET操作MySql数据库的具体操作技巧等等。那么今天大家将会了解到VB.NET调用SQL Server存储过程的相关应用方法。 定义数据链接部分省略,myConn为链接对象 Pr

VB.NET编程语言对于数据库的操作,我们51CTO以前也介绍了不少。比如VB.NET数据库压缩的实现方法,VB.NET操作MySql数据库的具体操作技巧等等。那么今天大家将会了解到VB.NET调用SQL Server存储过程的相关应用方法。

定义数据链接部分省略,myConn为链接对象 ProcName为存储过程名

1.VB.NET调用SQL Server存储过程时无返回值

 
 
  1. PrivateFunctionSqlProc1(ByValProcNameAsString)AsBoolean
  2. '定义数据链接部分省略,myConn为链接对象ProcName为存储过程名
  3. DimmyCommandAsNewSqlClient.SqlCommand(ProcName,myConn)
  4. WithmyCommand
  5. .CommandType=CommandType.StoredProcedure
  6. .Parameters.Add("@CodeType",SqlDbType.VarChar,20).Value="年级编码"
  7. Try
  8. .ExecuteNonQuery()
  9. ReturnTrue
  10. CatchexAsException
  11. ReturnFalse
  12. EndTry
  13. EndFunction

2.VB.NET调用SQL Server存储过程返回普通值

 
 
  1. PrivateFunctionSqlProc1(ByValProcNameAsString)AsString
  2. '定义数据链接部分省略,myConn为链接对象
  3. DimmyCommandAsNewSqlClient.SqlCommand(ProcName,20).Value="年级编码"
  4. .Parameters.Add("@NewCode",20). Direction=ParameterDirection.Output
  5. Try
  6. .ExecuteNonQuery()
  7. Return.Parameters(1).Value()
  8. CatchexAsException
  9. Return"无编码生成"
  10. EndTry
  11. EndFunction

3.VB.NET调用SQL Server存储过程返回数据集

 
 
  1. 'VB.NET代码
  2. PrivateFunctionSqlProc2(ByValProcNameAsString,ByValParam1AsString)AsDataSet
  3. '定义命令对象,并使用储存过程
  4. DimmyCommandAsNewSqlClient.SqlCommand
  5. myCommand.CommandType=CommandType.StoredProcedure
  6. myCommand.CommandText=ProcName
  7. myCommand.Connection=myConn
  8. '定义一个数据适配器,并设置参数
  9. DimmyDapterAsNewSqlClient.SqlDataAdapter(myCommand)
  10. myDapter.SelectCommand.Parameters.Add ("@name",20).Value=Param1
  11. '定义一个数据集对象,并填充数据集
  12. DimmyDataSetAsNewDataSet
  13. Try
  14. myDapter.Fill(myDataSet)
  15. CatchexAsException
  16. EndTry
  17. ReturnmyDataSet
  18. EndFunction

存储过程代码

 
 
  1. CreateProcTest@namevarchar(20)As
  2. Select*FromEC_GradewherecGradeName=@name
  3. GO
  4. ***如果将存储过程修改部分内容,可以做为查询使用
  5. CREATEProcTest
  6. @namevarchar(200)=''
  7. --此处应该注意200为查询条件的长度,可以根据实际情况而定; 但不建议用于过长的查询条件
  8. As
  9. Declare@sql1varchar(8000)
  10. if@name<>''
  11. Select@sql1='Select*FromEC_Gradewhere'+@name
  12. else
  13. Select@sql1='Select*FromEC_Grade'
  14. exec(@sql1)
  15. GO

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读