存储过程如下
Create Procedure GetBOM
@QAB001 Varchar(20)=''
As
Declare @Lvl SmallInt,@Rec Int
Set @Lvl=1
Create Table #BOM (QAB001 Char(20) Collate Chinese_PRC_BIN,QAB003 Char(20) Collate Chinese_PRC_BIN,QAB005 Numeric(12,2),Lvl SmallInt)
Insert #BOM
Select QAB001,QAB003,QAB005,0 as Lvl
From SGMQAB Where QAB001=@QAB001
Set @Rec=@@RowCount
set nocount on
While @Rec>0
Begin
Insert #BOM
Select T.QAB003,B.QAB003,T.QAB005*B.QAB005 as QAB005,@Lvl as Lvl
From #BOM T Join SGMQAB B On T.QAB003=B.QAB001
Where T.Lvl=@Lvl-1
Set @Rec=@@RowCount
Set @Lvl=@Lvl+1
End
Select @QAB001 as QAB001,B.QAB003,B.QAB005,T.DGB005
From #BOM B left Join TPADGB T On B.QAB003=T.DGB002
Where B.QAB003 Not In (Select Distinct QAB001 From #BOM)
VB 调用代码
Private Sub Command1_Click()Dim rsCmd As New ADODB.Command
Dim rsStr As New ADODB.Recordset
Dim param As New ADODB.Parameter
Dim Strsql As String
With rsCmd
.CommandText = "GetBOM"
.CommandType = adCmdStoredProc
End WithSet param = rsCmd.CreateParameter("QAB001", adChar, adParamInput, 20, Trim(Text1.Text))Strsql = "GetBOM '" & param & "'"
rsStr.Open Strsql, Conn, , , adCmdTextMsgBox rsStr.RecordCountEnd Sub错误 实时错误“3704” 对象关闭时,不允许操作!
Create Procedure GetBOM
@QAB001 Varchar(20)=''
As
Declare @Lvl SmallInt,@Rec Int
Set @Lvl=1
Create Table #BOM (QAB001 Char(20) Collate Chinese_PRC_BIN,QAB003 Char(20) Collate Chinese_PRC_BIN,QAB005 Numeric(12,2),Lvl SmallInt)
Insert #BOM
Select QAB001,QAB003,QAB005,0 as Lvl
From SGMQAB Where QAB001=@QAB001
Set @Rec=@@RowCount
set nocount on
While @Rec>0
Begin
Insert #BOM
Select T.QAB003,B.QAB003,T.QAB005*B.QAB005 as QAB005,@Lvl as Lvl
From #BOM T Join SGMQAB B On T.QAB003=B.QAB001
Where T.Lvl=@Lvl-1
Set @Rec=@@RowCount
Set @Lvl=@Lvl+1
End
Select @QAB001 as QAB001,B.QAB003,B.QAB005,T.DGB005
From #BOM B left Join TPADGB T On B.QAB003=T.DGB002
Where B.QAB003 Not In (Select Distinct QAB001 From #BOM)
VB 调用代码
Private Sub Command1_Click()Dim rsCmd As New ADODB.Command
Dim rsStr As New ADODB.Recordset
Dim param As New ADODB.Parameter
Dim Strsql As String
With rsCmd
.CommandText = "GetBOM"
.CommandType = adCmdStoredProc
End WithSet param = rsCmd.CreateParameter("QAB001", adChar, adParamInput, 20, Trim(Text1.Text))Strsql = "GetBOM '" & param & "'"
rsStr.Open Strsql, Conn, , , adCmdTextMsgBox rsStr.RecordCountEnd Sub错误 实时错误“3704” 对象关闭时,不允许操作!
解决方案 »
- VB6写的软件,不会打包,大伙帮帮我吧,加班中……
- DataGrid怎么更新数据
- 打开报表(水晶报表8.0)出现如下错误提示
- vb中如何制作帮助?急。。。
- 为什么会自动生成临时文件
- 程序做完了,到那里发布啊?咋个发布法呢?oooooooooooooo?咋办呢?ooo?
- 新手请教,遇到一个问题,谢谢各位!
- 如何从treeview中删除一个结点?
- Class does not support Automation or does not support expected interface
- 请问怎样在VB环境中调用CryptEncrypt和CryptDecrypt,其他加解密的算法如果有函数也请方上来,谢谢!
- 连接远程端口做判断
- VB中media player控件的使用说明
检查Conn看看