zoukankan      html  css  js  c++  java
  • [JWF][API] 显示当前所有用户信息

    说实话,AdobeWorkFlow的API写的太一般了,基本没有什么可以直接就可以运行的例子。
    大量的代码都是用ASP的VBS脚本完成的。对于这样一个帮助文档,只能让我去猜,它实现了什么功能。

    总结了一下,显示当前所有WorkFlow中用户的唯一标识是一个很有用的功能,因为,在以后的工作任务处理过程中,经常要使用这个ID。

    但WorkFlow的API只提供了功能实在太弱的方法为程序开发人员使用。

    我原来用VB写了个例子,要以做为一个参考。

    Option Explicit

    Dim g_connObj As EPSDK.Connection
    Dim g_connStr As String
    Dim g_userName As String
    Dim g_password As String
    Dim g_dsnName As String
    Dim g_server As String


    Private Sub cmdInitializeConnect_Click()

        
    Set g_connObj = New EPSDK.Connection
        
    Dim connStr
        
    ' connStr = "DSN=" & g_dsnName & ";SERVER=" & g_server & ";UID=" & g_userName & ";PWD=" & g_password
        connStr = "DSN=Adobe Workflow Server"
        
        
    ' Open connection
        g_connObj.Open (connStr)
        
        Debug.Print 
    "Initialize connection succeful"
        
    End Sub




    Private Sub cmdListUsers_Click()
        
    If g_connObj Is Nothing Then
            
    MsgBox ("Please connect to server first")
            
    Exit Sub
        
    End If
        
        
    Dim rs As EPSDK.Recordset
        
    Set rs = New EPSDK.Recordset
        
        
    Dim strSql As String
        strSql 
    = "select DisplayName, userID from users"
        
        
    Set rs = g_connObj.Execute(strSql)
        
        
    If rs.EOF Then
            
    MsgBox "There are not any user"
            
    Exit Sub
        
    End If
            
        
    Dim i As Integer
        i 
    = 0
        
    While Not rs.EOF
            i 
    = i + 1
            
    ' 这里将显示当前后有用户任务列表
            Debug.Print "------------" & i & "-------------"
            Debug.Print rs(
    "DisplayName")
            Debug.Print rs(
    "userID")
            rs.MoveNext
        Wend
    End Sub

    注意其中使用的一条select语句。它是用来访问WorkFlowServer数据用的。

    再看看我用C#重写了这段代码。

    private EPSDK.Connection CreateConnection(String userName, String password)
    {
        EPSDK.Connection conn 
    = new EPSDK.ConnectionClass();
        conn.Open(
    "DSN=Adobe WorkFlow Server","xuzhong","");
        
    return conn;
    }



            
    private void button1_Click(object sender, System.EventArgs e)
            
    {
                EPSDK.Recordset rs 
    = new EPSDK.RecordsetClass();


                String strSql 
    = "select DisplayName, UserID from Users";

                EPSDK.Connection conn 
    = this.CreateConnection("xuzhong","");

                rs 
    = conn.Execute( strSql );

                
    while(!rs.EOF)
                
    {
                    String name 
    = String.Format("{0,-30} {1}",
                        rs.Fields[
    "DisplayName"].Value.ToString(),
                        rs.Fields[
    "UserID"].Value.ToString() 
                        );
                    Print( name );
                    rs.MoveNext();
                }

            }


    它实现了与上面用VB写的一样的功能。
  • 相关阅读:
    20159208 《网络攻防实践》第七周学习总结
    20159208《网络攻防实践》第六周学习总结
    20159208《网络攻防实践》第五周学习总结
    20159208《网络攻防实践》第四周学习总结
    20159204 wireshark使用方法介绍
    20159204 kali linux下nmap的使用方法介绍
    20159204国内黑客介绍
    20159204 国外黑客介绍
    20159204《网络攻防实践》项目计划
    20159204《网络攻防实践》第9周学习总结
  • 原文地址:https://www.cnblogs.com/xuzhong/p/392689.html
Copyright © 2011-2022 走看看