zoukankan      html  css  js  c++  java
  • 【转载】从SmartObject中读取数据

    对K2 Blackpearl有一定了解的人都知道,SmartObject可以帮助我们完成数据持久化的工作,以下是根据流程实例ID(ProcessInstanceID)从SmartObject中读取数据相关代码,这些代码在SDK中也是可以找到的,现在贴出来给大家,希望有帮助,同时希望有大虾可以予小弟以指点。 


     //根据KEY ID从SmartObject中取数据
            private void LoadData(string argProInstanceID)
            {
                SourceCode.SmartObjects.Client.SmartObjectClientServer socs = new SourceCode.SmartObjects.Client.SmartObjectClientServer();
                
                // build a connection string
                SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder connectionString = new SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder();
                connectionString.Authenticate = true;
                connectionString.Host = System.Configuration.ConfigurationManager.AppSettings["K2Server"];
                connectionString.Integrated = true;
                connectionString.IsPrimaryLogin = true;
                connectionString.Port = Convert.ToUInt32(System.Configuration.ConfigurationManager.AppSettings["HostServicePort"]);
                //connectionString.UserID = "UserID";
                
    //connectionString.Password = "******";
                connectionString.WindowsDomain = "domain";
                connectionString.SecurityLabelName = "K2";

                // open a K2 Server connection
                socs.CreateConnection();
                socs.Connection.Open(connectionString.ToString());
                try
                {
                    // get a handle to the 'so_DHFKSQ' SmartObject
                    SourceCode.SmartObjects.Client.SmartObject so = socs.GetSmartObject("so_DHFKSQ");

                    // specify which method will be called
                    so.MethodToExecute = "Load";

                    // specify input parameters for the method
                    so.Properties["ProInstanceID"].Value = argProInstanceID;

                    // call the method
                    socs.ExecuteScalar(so);

                    // note: if a method of type 'list' was specified, then the 'ExecuteList' method should be called
                    
    // serverName.ExecuteList(smartObject);

                    
    // read the return properties of the SmartObject
                    Folio.Text = so.Properties["Folio"].Value;
                    ApplyEmployee.Text = so.Properties["ApplyEmployee"].Value;
                    ApplyAmount.Text = so.Properties["ApplyAmount"].Value;
                    ApplyDate.Text = so.Properties["ApplyDate"].Value;
                    HigherLevelApprover.Text = so.Properties["HigherLevelApprover"].Value;
                    FinanceApprover.Text = so.Properties["FinanceApprover"].Value;
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    // close the connection
                    socs.Connection.Close();
                }

            } 

    希望K2 Blackpearl的大虾们看到后,能给小弟予以指导,不甚感激。 

  • 相关阅读:
    insert插入多条数据
    dbms_output输出中文乱码
    redhat6.2安装rlwrap
    IIS实现HTTPS的主机名绑定
    windows10家庭版 远程桌面报错
    Encryption requires the OpenSSL PHP extension 报错
    Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use ...报错
    报错:org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute statement
    异常:java.lang.NoClassDefFoundError: org/springframework/expression/ParserContext
    IntelliJ Idea解决Could not autowire. No beans of 'xxxx' type found的错误提示
  • 原文地址:https://www.cnblogs.com/voidxy/p/2376459.html
Copyright © 2011-2022 走看看