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

vb.net 两种方式调用存储过程的总结

发布时间:2020-12-16 22:52:59 所属栏目:大数据 来源:网络整理
导读:方法一:利用数据对像,当作一个普通的SQL,来调用存储过程或函数:sql 内容: exec dbo.pro_lct (参数.....) 优点: 速度快,传参简单。 可以返回结果集或单值。(检索,更新,删除全支持) 缺点: 不支持存储过程的out put 值的返回方式。 开发推荐使用此

方法一:利用数据对像,当作一个普通的SQL,来调用存储过程或函数:sql 内容: exec dbo.pro_lct (参数.....)

优点: 速度快,传参简单。 可以返回结果集或单值。(检索,更新,删除全支持)

缺点: 不支持存储过程的out put 值的返回方式。

开发推荐使用此方式。

Dim dtobj As New ComDBConn()

Dim tmpCheckPrcStatus = PFn_pro_get_lct(dtobj,"2","F04","00001","","3",tmp1,tmp2)
MsgBox(tmpCheckPrcStatus.Rows(0).Item(0))
MsgBox(tmpCheckPrcStatus.Rows(0).Item(1))

---数据对像的类型:
mSqlCommand.CommandText = strSQLBuilder.ToString()
mSqlCommand.CommandType = CommandType.Text

'方法二:利用数据的对象自带的procedure的访问方式调用

优点:一一对应关系清楚

缺点:传参或调用麻烦,只支持output 值的返回,不能返回结果集

开发不推荐使用此方式。

Dim sqlPara(7) As SqlParameter
sqlPara(0) = New SqlParameter("IN_MODE_TYPE",SqlDbType.VarChar,1) '対象月度(yyyy/mm)
sqlPara(1) = New SqlParameter("IN_CODE1",10) '実行社員コード
sqlPara(2) = New SqlParameter("IN_CODE2",10) '処理対象日付FROM(DATE)
sqlPara(3) = New SqlParameter("IN_CODE3",10) '処理対象日付TO(DATE)
sqlPara(4) = New SqlParameter("IN_WHOUSE1",10) '終了コード(INTEGER)
sqlPara(5) = New SqlParameter("IN_WHOUSE2",10) '終了コード(INTEGER)
sqlPara(6) = New SqlParameter("OUT_MAIN_LCT",15) 'エラー№(INTEGER)
sqlPara(7) = New SqlParameter("OUT_SUB_LCT",15) 'エラー内容(varchar(300))

sqlPara(0).Direction = ParameterDirection.Input
sqlPara(1).Direction = ParameterDirection.Input
sqlPara(2).Direction = ParameterDirection.Input
sqlPara(3).Direction = ParameterDirection.Input
sqlPara(4).Direction = ParameterDirection.Input
sqlPara(5).Direction = ParameterDirection.Input
sqlPara(6).Direction = ParameterDirection.Output
sqlPara(7).Direction = ParameterDirection.Output

'プロシージャへの引渡しパラメータの設定
sqlPara(0).Value = "2"
sqlPara(1).Value = "F04"
sqlPara(2).Value = "00001"
sqlPara(3).Value = ""
sqlPara(4).Value = "3"
sqlPara(5).Value = ""
sqlPara(6).Value = String.Empty
sqlPara(7).Value = String.Empty

'④処理内容に格納されたプロシージャ名を実行
Call dtobj.PSb_ExcuteProcedure("dbo." & "pro_get_lct",sqlPara)

---数据对像的类型: mSqlCommand.CommandText = strProcedureName mSqlCommand.CommandType = CommandType.StoredProcedure

(编辑:李大同)

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

    推荐文章
      热点阅读