public Dictionary <SmallerCrimeCode, int> topAreaYear(int top, int min, int max, string name) { Dictionary <SmallerCrimeCode, int> topTypeNum = new Dictionary <SmallerCrimeCode, int>(); Business bus = new Business("C:\\Users\\Jacky\\Downloads\\CrimeDB.mdf"); string sql = string.Format(@" SELECT TOP {0} T.PrimaryDesc, T.SecondaryDesc, Count(*) AS Total FROM Crimes INNER JOIN (SELECT * FROM Codes) AS T ON T.IUCR = Crimes.IUCR WHERE Crimes.Year >= {1} AND Crimes.Year <= {2} AND Crimes.Area = (SELECT Area FROM AREAS WHERE AreaName = '{3}') GROUP BY T.PrimaryDesc, T.SecondaryDesc ORDER BY Total DESC; ", top, min, max, name); DataSet result = dataTier.ExecuteNonScalarQuery(sql); foreach (DataRow row in result.Tables["TABLE"].Rows) { // topTypeNum.Add(Convert.ToString(row["T.PrimaryDesc"]), Convert.ToString(row["T.SecondaryDesc"]), Convert.ToInt32(row["Total"])); SmallerCrimeCode c; c = new SmallerCrimeCode(Convert.ToString(row["PrimaryDesc"]), Convert.ToString(row["SecondaryDesc"])); topTypeNum.Add(c, Convert.ToInt32(row["Total"])); } return(topTypeNum); }
public Dictionary <SmallerCrimeCode, int> topTypes(int num) { Dictionary <SmallerCrimeCode, int> topTypeNum = new Dictionary <SmallerCrimeCode, int>(); Business bus = new Business("C:\\Users\\Jacky\\Downloads\\CrimeDB.mdf"); string sql = string.Format(@" SELECT TOP {0} T.PrimaryDesc, T.SecondaryDesc, Count(*) AS Total FROM Crimes INNER JOIN (SELECT * FROM Codes) AS T ON T.IUCR = Crimes.IUCR GROUP BY T.PrimaryDesc, T.SecondaryDesc ORDER BY Total DESC; ", num); DataSet result = dataTier.ExecuteNonScalarQuery(sql); foreach (DataRow row in result.Tables["TABLE"].Rows) { // topTypeNum.Add(Convert.ToString(row["T.PrimaryDesc"]), Convert.ToString(row["T.SecondaryDesc"]), Convert.ToInt32(row["Total"])); SmallerCrimeCode c; c = new SmallerCrimeCode(Convert.ToString(row["PrimaryDesc"]), Convert.ToString(row["SecondaryDesc"])); topTypeNum.Add(c, Convert.ToInt32(row["Total"])); } return(topTypeNum); }