/// <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); } }