问题描述:我编写了一个关于2个系统的接口,其主要功能就是同步这两个系统的组织架构,我从a系统获取部门名,以及其父部门名,然后通过b系统给的接口(也就是一个封装的类的添加部门方法 DeptmanagerObj.AddDept sname子部门, pname父部门)进行添加,往b系统里添加部门有个要求,就是必须从根节点也就是顶级部门开始一层一层的添加,添加子部门时候其父部门必须已经在B系统里,我写了个方法如下
'***********************************************************************
'* 过程名:in_dept
'* 功 能:根据一个部门名,插入它所有的子部门
'* 参 数:
'* 版 本:1.0
'***********************************************************************
Private Sub in_dept(ByVal pname As String)
Dim s_rs As ADODB.Recordset
Dim sname As String
Dim ssql As String
Dim root As String
ssql = "select * from v_dept where p_dept='" & pname & "'" ‘查找所有的的子部门
Set s_rs = v_conn.Execute(ssql)
If s_rs.RecordCount > 0 Then
Do While (Not s_rs.EOF)
sname = s_rs("dept_name")
Sleep 20
DeptmanagerObj.AddDept sname, pname 用b系统的类添加部门到b系统
s_rs.MoveNext
Loop
End If
End Sub
问题:我怎样用这个方法添加完所有的部门,请大家给我设计个算法。
'***********************************************************************
'* 过程名:in_dept
'* 功 能:根据一个部门名,插入它所有的子部门
'* 参 数:
'* 版 本:1.0
'***********************************************************************
Private Sub in_dept(ByVal pname As String)
Dim s_rs As ADODB.Recordset
Dim sname As String
Dim ssql As String
Dim root As String
ssql = "select * from v_dept where p_dept='" & pname & "'" ‘查找所有的的子部门
Set s_rs = v_conn.Execute(ssql)
If s_rs.RecordCount > 0 Then
Do While (Not s_rs.EOF)
sname = s_rs("dept_name")
Sleep 20
DeptmanagerObj.AddDept sname, pname 用b系统的类添加部门到b系统
s_rs.MoveNext
Loop
End If
End Sub
问题:我怎样用这个方法添加完所有的部门,请大家给我设计个算法。
解决方案 »
- 多步OLE DB操作产生错误?
- 我读取的一个BMP文件的二进制流
- 可以用vbscript控件存取外部文件吗?
- 关于VB中的CreateObject("Scripting.FileSystemObject") 方面
- ◆把excel下的数据导入到sql server◆
- 请教richtextbox的有关问题!
- 我想按职工姓名中每个字的声母来查询职工姓名,怎么实现?
- 关于在程序中设置
- 怎样从远端服务器数据库(SQL)中的一个表取出数据放到本地计算机上的数据库中的一个表里呢?用代码怎么表示
- 请问,是哪位给我发的邮件,hxwang,是哪位呀。
- VBA基础问题三:编写的按钮及窗体怎么在其他的文件中使用?应该怎么导出来呢?
- 菜鸟求助,急!!关于Vb中向word写入图片和文字
Dim s_rs As ADODB.Recordset
Dim sname As String
Dim ssql As String
Dim root As String ssql = "select * from v_dept where p_dept='" & pname & "'" ‘查找所有的的子部门
Set s_rs = v_conn.Execute(ssql)
If s_rs.RecordCount > 0 Then Do While (Not s_rs.EOF)
sname = s_rs("dept_name")
Sleep 20
DeptmanagerObj.AddDept sname, pname 用b系统的类添加部门到b系统 in_dept sname '用递归算法
s_rs.MoveNext Loop End If End Sub
ssql = "select * from v_dept where p_dept='" & pname[i] & "'" ‘查找所有的的子部门 pname[i] 应该是具体一个部门
Set s_rs = v_conn.Execute(ssql)
If s_rs.RecordCount > 0 Then Do While (Not s_rs.EOF)
sname = s_rs("dept_name")
Sleep 20
DeptmanagerObj.AddDept sname, pname 用b系统的类添加部门到b系统 s_rs.MoveNext Loop End If
然后把上面这个做i的一个循环就可以了