vb中怎么末编写存储过程

shaidanR 2003-10-19 05:19:17
!
...全文
97 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hacker007 2003-10-19
  • 打赏
  • 举报
回复
Private Sub prcTransactionsAutoGen(strTable As String)
'此存储过程产生一个某张表的最大ID号
Set prmOfPrc = New Parameter
Set comPrc = New Command
comPrc.ActiveConnection = con

comPrc.CommandType = adCmdStoredProc
comPrc.CommandText = strTable

Set prmOfPrc = comPrc.CreateParameter("TransactionID", adInteger, adParamOutput)
comPrc.Parameters.Append prmOfPrc
comPrc.Execute
If comPrc(0) < 10 Then
strTransactionID = "000000000" + CStr(comPrc(0))
ElseIf comPrc(0) < 100 Then
strTransactionID = "00000000" + CStr(comPrc(0))
ElseIf comPrc(0) < 1000 Then
strTransactionID = "0000000" + CStr(comPrc(0))
ElseIf comPrc(0) < 10000 Then
strTransactionID = "000000" + CStr(comPrc(0))
ElseIf comPrc(0) < 100000 Then
strTransactionID = "00000" + CStr(comPrc(0))
ElseIf comPrc(0) < 1000000 Then
strTransactionID = "0000" + CStr(comPrc(0))
ElseIf comPrc(0) < 10000000 Then
strTransactionID = "000" + CStr(comPrc(0))
ElseIf comPrc(0) < 100000000 Then
strTransactionID = "00" + CStr(comPrc(0))
ElseIf comPrc(0) < 1000000000 Then
strTransactionID = "0" + CStr(comPrc(0))
End If

Set comPrc = Nothing
Set prmOfPrc = Nothing
End Sub

在SQL SERVER有类似存储过程
CREATE procedure prcTransactionsOfAccountAutoGen @iIncrement int output
as
declare @cTransactionID char(10)
select @cTransactionID=isnull(max(cTransactionID),'0000000000') from TransactionsOfAccount
select @iIncrement=convert(int,substring(@cTransactionID,1,10))+1
GO

VB调用如下
prcTransactionsAutoGen "prcTransactionsOfAccountAutoGen"
shaidanR 2003-10-19
  • 打赏
  • 举报
回复
我 up~

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧