예제 #1
0
 protected override void UpdateSettingCore(NotifyConfigItem item)
 {
     if (item == null || string.IsNullOrWhiteSpace(item.db_connstring))
     {
         mDbAccess = null;
         mProc     = null;
         mArgs     = null;
     }
     else
     {
         mDbAccess = new ODPDataAccess(Common.CustomDecode(item.db_connstring));
         mProc     = item.db_proc;
         if (!ParseArgs4KeyValuePairs(item.args, out mArgs))
         {
             mArgs = null;
         }
     }
 }
예제 #2
0
        internal override bool ExecuteCore(string uid, string uname, string url, string system, string maincode, string mainid,
                                           string subject, string creatorId, string creatorName)
        {
            ODPDataAccess dbAccess = mDbAccess;

            if (dbAccess != null && !string.IsNullOrWhiteSpace(mProc))
            {
                OracleParameter[]           parms    = null;
                Dictionary <string, string> dictArgs = mArgs;
                if (dictArgs != null && dictArgs.Count > 0)
                {
                    parms = new OracleParameter[dictArgs.Count];
                    int index = 0;
                    foreach (KeyValuePair <string, string> item in dictArgs)
                    {
                        parms[index]       = new OracleParameter(item.Key, OracleDbType.Varchar2);
                        parms[index].Value = GetArgDbValue(item.Value, uid, uname, url, system,
                                                           maincode, mainid, subject, creatorId, creatorName);
                        index++;
                    }
                }
                //parms = new OracleParameter[]
                //{
                //    new OracleParameter("user_in", OracleDbType.Varchar2),
                //    new OracleParameter("url_in", OracleDbType.Varchar2),
                //    new OracleParameter("system_in", OracleDbType.Varchar2),
                //    new OracleParameter("maincode_in", OracleDbType.Varchar2),
                //    new OracleParameter("mainid_in", OracleDbType.Varchar2),
                //    new OracleParameter("subject_in", OracleDbType.Varchar2),
                //    new OracleParameter("senduser_in", OracleDbType.Varchar2),
                //};
                //parms[0].Value = user;
                //parms[1].Value = url;
                //parms[2].Value = system;
                //parms[3].Value = maincode;
                //parms[4].Value = mainid;
                //parms[5].Value = title;
                //if (string.IsNullOrWhiteSpace(createUser))
                //    parms[6].Value = DBNull.Value;
                //else
                //    parms[6].Value = createUser;

                try
                {
                    dbAccess.ExecuteNonQuery(mProc, parms, System.Data.CommandType.StoredProcedure);
                }
                catch (Exception ex)
                {
                    Common.Logger.Warn($"调用存储过程出错:{ex.Message}[参数个数:{parms.Length}]");
                    throw;
                }
                return(true);
            }
            return(false);

            #region Proc.ZLHIS

            /*
             * Create Or Replace Procedure Zltools.Zldiscussiongroup_Update
             * (
             * Sysname_In    In Zltools.Zldiscussiongroup. Sysname%Type,
             * Objecttype_In In Zltools.Zldiscussiongroup. Objecttype%Type,
             * Objectid_In   In Zltools.Zldiscussiongroup. Objectid%Type,
             * User_In       In Zltools.Zldiscussiongroup.Username%Type,
             * Tilename_In   In Zltools.Zldiscussiongroup.Tilename%Type := Null,
             * Url_In        In Zltools.Zldiscussiongroup.Tilename%Type := Null,
             * Senduser_In   In Zltools.Zldiscussiongroup.Senduser%Type := Null
             * ) Is
             */
            #endregion
        }
예제 #3
0
 public void Init()
 {
     this.da = new OracleDB();
 }