热门标签 | 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



推荐阅读
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • 本文详细介绍如何使用Samba软件配置CIFS文件共享服务,涵盖安装、配置、权限管理及多用户挂载等关键步骤。通过具体示例和命令行操作,帮助读者快速搭建并优化Samba服务器。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 在使用SQL Server进行动态SQL查询时,如果遇到LIKE语句无法正确返回预期结果的情况,通常是因为参数传递方式不当。本文将详细探讨这一问题,并提供解决方案及相关的技术背景。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • IneedtofocusTextCellsonebyoneviaabuttonclick.ItriedlistView.ScrollTo.我需要通过点击按钮逐个关注Tex ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 本文介绍如何通过创建替代插入触发器,使对视图的插入操作能够正确更新相关的基本表。涉及的表包括:飞机(Aircraft)、员工(Employee)和认证(Certification)。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
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社区 版权所有