public static tmpDS.marketDataDataTable GetMarketData(DateTime frDate, DateTime toDate, string codeList, AppTypes.TimeScale timeScale, AppTypes.MarketDataTypes type) { string sqlCond = ""; if (timeScale != AppTypes.MainDataTimeScale) { sqlCond += (sqlCond == "" ? "" : " AND ") + " type='" + timeScale.Code + "'"; } sqlCond += (sqlCond == "" ? "" : " AND ") + "onDate BETWEEN '" + common.system.ConvertToSQLDateString(frDate) + "'" + " AND '" + common.system.ConvertToSQLDateString(toDate) + "'"; sqlCond += (sqlCond == "" ? "" : " AND "); switch (type) { case AppTypes.MarketDataTypes.Advancing: sqlCond += "closePrice>openPrice"; break; case AppTypes.MarketDataTypes.Declining: sqlCond += "closePrice<openPrice"; break; default: sqlCond += "closePrice=openPrice"; break; } if (codeList != null && codeList != "") { sqlCond += (sqlCond == "" ? "" : " AND ") + " stockCode IN (" + codeList + ")"; } else { sqlCond += (sqlCond == "" ? "" : " AND ") + " stockCode IN (SELECT code FROM stockCode WHERE status & " + ((byte)AppTypes.CommonStatus.Enable).ToString() + ">0)"; } string sqlCmd = "SELECT onDate,COUNT(*) AS val0,SUM(volume) AS val1" + " FROM " + (timeScale == AppTypes.MainDataTimeScale ? "priceData" : "priceDataSum") + " WHERE " + sqlCond + " GROUP BY onDate ORDER BY onDate"; tmpDS.marketDataDataTable tbl = new tmpDS.marketDataDataTable(); DbAccess.LoadFromSQL(tbl, sqlCmd); return(tbl); }
public static tmpDS.marketDataDataTable GetMarketData(DateTime frDate, DateTime toDate, string codeList, AppTypes.TimeScale timeScale, AppTypes.MarketDataTypes type) { string sqlCond = ""; if (timeScale != AppTypes.MainDataTimeScale) { sqlCond += (sqlCond == "" ? "" : " AND ") + " type='" + timeScale.Code + "'"; } sqlCond += (sqlCond == "" ? "" : " AND ") + "onDate BETWEEN '" + common.system.ConvertToSQLDateString(frDate) + "'" + " AND '" + common.system.ConvertToSQLDateString(toDate) + "'"; sqlCond += (sqlCond == "" ? "" : " AND "); switch (type) { case AppTypes.MarketDataTypes.Advancing: sqlCond += "closePrice>openPrice"; break; case AppTypes.MarketDataTypes.Declining: sqlCond += "closePrice<openPrice"; break; default: sqlCond += "closePrice=openPrice"; break; } if (codeList != null && codeList != "") { sqlCond += (sqlCond == "" ? "" : " AND ") + " stockCode IN (" + codeList + ")"; } else { sqlCond += (sqlCond == "" ? "" : " AND ") + " stockCode IN (SELECT code FROM stockCode WHERE status & " + ((byte)AppTypes.CommonStatus.Enable).ToString() + ">0)"; } string sqlCmd = "SELECT onDate,COUNT(*) AS val0,SUM(volume) AS val1" + " FROM " + (timeScale == AppTypes.MainDataTimeScale ? "priceData" : "priceDataSum") + " WHERE " + sqlCond + " GROUP BY onDate ORDER BY onDate"; tmpDS.marketDataDataTable tbl = new tmpDS.marketDataDataTable(); DbAccess.LoadFromSQL(tbl, sqlCmd); return tbl; }