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写的一样的功能。
  • 相关阅读:
    SpringBoot实现原理
    常见Http状态码大全
    forward(转发)和redirect(重定向)有什么区别
    1094. Car Pooling (M)
    0980. Unique Paths III (H)
    1291. Sequential Digits (M)
    0121. Best Time to Buy and Sell Stock (E)
    1041. Robot Bounded In Circle (M)
    0421. Maximum XOR of Two Numbers in an Array (M)
    0216. Combination Sum III (M)
  • 原文地址:https://www.cnblogs.com/xuzhong/p/392689.html
Copyright © 2011-2022 走看看