示例#1
0
        /// <summary>
        /// ExecuteScalar
        /// </summary>
        /// <param name="logAppendToForms"></param>
        /// <param name="searchParam"></param>
        /// <returns></returns>
        public string ExecuteScalar(Log4netUtil.LogAppendToForms logAppendToForms, Model.SearchParam searchParam)
        {
            string storedProcedureName = searchParam.ProcedureName;
            string targetDatabase      = searchParam.TargetDatabase;
            string logMessage          = string.Empty;

            IDAL.IDBHelper _idbHelper = DALFactory.DBHelperFactory.CreateInstance(targetDatabase);//创建接口
            System.Data.Common.DbParameter[] cmdParams = { _idbHelper.CreateInParam(targetDatabase,  ":i_ModuleID",   searchParam.ModuleID),
                                                           _idbHelper.CreateInParam(targetDatabase,  ":i_IsMaintain", searchParam.IsMaintain),
                                                           _idbHelper.CreateInParam(targetDatabase,  ":i_FilterFlag", searchParam.FilterFlag),
                                                           _idbHelper.CreateInParam(targetDatabase,  ":i_StartDate",  searchParam.StartDate),
                                                           _idbHelper.CreateInParam(targetDatabase,  ":i_EndDate",    searchParam.EndDate),
                                                           _idbHelper.CreateInParam(targetDatabase,  ":i_Logogram",   searchParam.Logogram),
                                                           _idbHelper.CreateInParam(targetDatabase,  ":i_BillCode",   searchParam.BillCode),
                                                           _idbHelper.CreateOutParam(targetDatabase, ":o_return",     System.Data.DbType.Object) };
            try
            {
                var    result  = _idbHelper.ExecuteScalar(System.Data.CommandType.StoredProcedure, storedProcedureName, targetDatabase, cmdParams);//调用接口的方法
                string jsonSql = Util.DbSqlLog.SqlToJson("0000", storedProcedureName, cmdParams);
                logMessage = string.Format("ExecuteScalar  获取数据 执行ExecuteScalar成功!{0}", string.Empty);
                Newtonsoft.Json.Linq.JObject resultJObject = new Newtonsoft.Json.Linq.JObject();
                resultJObject.Add("code", new Newtonsoft.Json.Linq.JValue("0000"));
                resultJObject.Add("msg", new Newtonsoft.Json.Linq.JValue(logMessage));
                resultJObject.Add("sql", new Newtonsoft.Json.Linq.JObject(Newtonsoft.Json.Linq.JObject.Parse(jsonSql)));
                logMessage = string.Format("【{0}_{1}】 {2}", searchParam.jobInfo.JobCode, searchParam.jobInfo.JobName.ToString(), Util.NewtonsoftCommon.SerializeObjToJson(resultJObject));
                Log4netUtil.Log4NetHelper.LogMessage(logAppendToForms, searchParam.IsDebug, logMessage, @"Database");
                return(result.ToString());
            }
            catch (Exception ex)
            {
                string jsonSql = Util.DbSqlLog.SqlToJson("9999", storedProcedureName, cmdParams);
                logMessage = string.Format("ExecuteScalar  获取数据 执行ExecuteScalar失败;失败原因:{0}", ex.Message);
                Newtonsoft.Json.Linq.JObject resultJObject = new Newtonsoft.Json.Linq.JObject();
                resultJObject.Add("code", new Newtonsoft.Json.Linq.JValue("9999"));
                resultJObject.Add("msg", new Newtonsoft.Json.Linq.JValue(logMessage));
                resultJObject.Add("sql", new Newtonsoft.Json.Linq.JObject(Newtonsoft.Json.Linq.JObject.Parse(jsonSql)));
                logMessage = string.Format("【{0}_{1}】 {2}", searchParam.jobInfo.JobCode, searchParam.jobInfo.JobName.ToString(), Util.NewtonsoftCommon.SerializeObjToJson(resultJObject));
                Log4netUtil.Log4NetHelper.LogError(logAppendToForms, searchParam.IsDebug, logMessage, @"Database");
                return(string.Empty);
            }
        }