public DataTable LoadDataTableByConditions(CommonSqlKey sqlKey, IList <Condition> parmObj) { var logStep = 0; try { if (sqlKey == CommonSqlKey.Null) { return(null); } var sqlTxt = CommSqlText.Instance[sqlKey]; logStep++; var parmDic = SqlConstructor.MakeParms(parmObj); List <DbParameter> parameter; var whereSql = ConditionHandler.GetWhereSql(parmObj.ToList(), out parameter, sqlKey); sqlTxt = SqlConstructor.FilterSQLWithInsteadValue(sqlTxt + whereSql, parmDic); logStep++; parmDic = SqlConstructor.FilterParmsWithList(parmDic, CommSqlText.SqlParms[sqlKey]); logStep++; return(DbHelper.ExecuteDataTable(sqlTxt, parmDic)); } catch (MySqlException ee) { Logger.LogInfo(String.Format("GetSingleFromDicDictionary ERROR STEP:{0}, EXCEPTION:{1}", logStep, ee.Message), 0, LogType.ERROR); throw ee; } }
private int GetCountFromDictionary <T>(CommonSqlKey sqlKey, IDictionary <string, object> parmDic) { DbDataReader dr = null; int tLst = 0; var logStep = 0; try { //如果为空sql可以,则根据类型和传入参数自动构造select语句,同时where条件为传入参数 var sqlTxt = sqlKey == CommonSqlKey.Null ? SqlConstructor.GetSelectSqlByParmDic <T>(parmDic) : CommSqlText.Instance[sqlKey]; logStep++; var sqlParameters = sqlKey == CommonSqlKey.Null ? null : parmDic; // SqlConstructor.MakeParms(parmDic, CommSqlText.SqlParms[sqlKey]); sqlTxt = SqlConstructor.FilterSQLWithInsteadValue(sqlTxt, sqlParameters); logStep++; sqlParameters = sqlKey == CommonSqlKey.Null ? null : SqlConstructor.FilterParmsWithList(sqlParameters, CommSqlText.SqlParms[sqlKey]); logStep++; tLst = DbHelper.ExecuteScalar(sqlTxt, sqlParameters) == null ? 0 : int.Parse(DbHelper.ExecuteScalar(sqlTxt, sqlParameters).ToString()); } catch (MySqlException ee) { Logger.LogInfo(String.Format("GetFromDictionary ERROR STEP:{0}, EXCEPTION:{1}", logStep, ee.Message), 0, LogType.ERROR); throw ee; } finally { if (dr != null) { dr.Close(); dr.Dispose(); } } return(tLst); }
public DataTable LoadDataTable(CommonSqlKey sqlKey, IDictionary <string, object> parmDic) { var logStep = 0; try { if (sqlKey == CommonSqlKey.Null) { return(null); } var sqlTxt = CommSqlText.Instance[sqlKey]; logStep++; sqlTxt = SqlConstructor.FilterSQLWithInsteadValue(sqlTxt, parmDic); logStep++; parmDic = SqlConstructor.FilterParmsWithList(parmDic, CommSqlText.SqlParms[sqlKey]); logStep++; return(DbHelper.ExecuteDataTable(sqlTxt, parmDic)); } catch (MySqlException ee) { Logger.LogInfo(String.Format("GetSingleFromDicDictionary ERROR STEP:{0}, EXCEPTION:{1}", logStep, ee.Message), 0, LogType.ERROR); throw ee; } }
private List <T> GetFromDictionary <T>(CommonSqlKey sqlKey, IDictionary <string, object> parmDic) { DbConnection dbConn = null; DbDataReader dr = null; var tLst = new List <T>(); var logStep = 0; try { //如果为空sql可以,则根据类型和传入参数自动构造select语句,同时where条件为传入参数 var sqlTxt = sqlKey == CommonSqlKey.Null ? SqlConstructor.GetSelectSqlByParmDic <T>(parmDic) : CommSqlText.Instance[sqlKey]; logStep++; var sqlParameters = sqlKey == CommonSqlKey.Null ? null : parmDic; // SqlConstructor.MakeParms(parmDic, CommSqlText.SqlParms[sqlKey]); sqlTxt = SqlConstructor.FilterSQLWithInsteadValue(sqlTxt, sqlParameters); logStep++; sqlParameters = sqlKey == CommonSqlKey.Null ? null : SqlConstructor.FilterParmsWithList(sqlParameters, CommSqlText.SqlParms[sqlKey]); logStep++; dr = DbHelper.ExecuteReader(sqlTxt, sqlParameters, ref dbConn); logStep = 100; if (dr == null) { return(tLst); } var hasCount = dr.Read(); while (hasCount) { logStep += 10; var t = MakeMapToObject <T>(dr); if (t != null) { tLst.Add(t); } logStep += 1; hasCount = dr.Read(); } } catch (MySqlException ee) { //Logger.LogInfo(String.Format("GetFromDictionary ERROR STEP:{0}, EXCEPTION:{1}", logStep, ee.Message), 0, LogType.ERROR); throw ee; } finally { if (dr != null) { dr.Close(); dr.Dispose(); } if (dbConn != null) { dbConn.Close(); dbConn.Dispose(); } } return(tLst); }
public int Delete <T>(CommonSqlKey sqlKey, T t) { var sqlContent = CommSqlText.Instance[sqlKey]; var sqlParameters = SqlConstructor.MakeParms(t); sqlContent = SqlConstructor.FilterSQLWithInsteadValue(sqlContent, sqlParameters); sqlParameters = SqlConstructor.FilterParmsWithList(sqlParameters, CommSqlText.SqlParms[sqlKey]); var result = DbHelper.ExecuteNonQuery(sqlContent, sqlParameters); return(result); }