VS中调用SQL SERVER存储过程





存储过程是经过编译的,永久保存在数据中的一组SQL语句,通过创建和使用存储过程可以提高程序的重用性和扩展性,为程序提供模块化的功能,还有利于对程序的维护和管理。下面就详谈一下,VB.NET如何调用SQL SERVER中的存储过程。

以上就是本人数据库中的一张表—OnDutyInfo

VS中调用SQL SERVER存储过程

创建存储过程

 

<span style="font-size:18px;">create procedure pro_OnDutyInfo    --存储过程名
@teacherID char(11)   --参数名
as
select * from OnDutyInfo where teacherId <a target=_blank href="mailto:=@teacherID">=@teacherID</a> </span>

(该存储过程执行查询教师值班记录操作)

要实现的功能是,查询用户的值班记录,在VS中的实现代码

<span style="font-size:18px;"> Private Sub btnFind_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim strCon As String   '连接数据库字符串
        Dim cn As SqlConnection
        Dim cmd As New SqlCommand
        Dim pt As SqlParameter
        Dim rdr As SqlDataReader
        strCon = "initial catalog=ChargeSystem;user id=sa;password=123456"
        cn = New SqlConnection(strCon)    '实例化连接对象
        cmd.Connection = cn
        cmd.CommandText = "pro_OnDutyInfo"  '存储过程名字
        cmd.CommandType = CommandType.StoredProcedure  '表明连接的类型为存储过程
        pt = New SqlParameter("@teacherID", "11090241032")  '获取参数
        cmd.Parameters.Add(pt)    '这是add方法,该方法只能添加一个参数
        cn.Open()
        rdr = cmd.ExecuteReader  '读取操作
        If (rdr.Read) Then   '通过数据流的形式来读取数据
            MessageBox.Show(rdr(0).ToString)
        End If

    End Sub</span>

以上操作就是一个简单的存储过程调用的操作,当然了大家可能会有问题,如果存储过程中的参数不止一个的话又该如何操作呢?如以下的存储过程

 我们看到其中会有很多传入的参数,其实很简单,不用担心,只需改一下添加的方法而已。

<span style="font-size:18px;">ALTER procedure [dbo].[pro_AddOffInfo]
@teacherId char(11),   --职工号
@offTime time(0),  --下机时间
@offDate date      --下机日期
as
update OnDutyInfo set offTime=@offtime,offDate=@offdate where offtime is null and teacherid =@teacherId 
--执行更新教师下机操作</span>
更改后的操作如下:

<span style="font-size:18px;">Dim paras As SqlParameter() = {New SqlParameter("@teacherId", En_OnDuty.teacherId), _
                                     New SqlParameter("@offTime", En_OnDuty.offTime.ToString), _
                                     New SqlParameter("@offDate", En_OnDuty.offDate.ToString)} '获取参数
        cmd.Parameters.AddRange(paras)    '注意这里换了一个方法</span>


以上就是实现VS调用SQL SERVER的小demo,也分析了ADD和ADDRanger的区别。


 

VS中调用SQL SERVER存储过程,布布扣,bubuko.com

VS中调用SQL SERVER存储过程

上一篇:[Oracle] - 性能优化工具(3) - ADDM


下一篇:SQL之性能优化