Advertisement
Guest User

Untitled

a guest
Apr 5th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.11 KB | None | 0 0
  1. private void UpdateChart()
  2. {
  3. DataTable data;
  4. string Scholen;
  5. string Wijken;
  6. string diefstal;
  7. chart2.Titles.Clear();
  8. chart2.Series[0].Points.Clear();
  9. chart2.Series[0].Name = "Diefstallen per wijk";
  10.  
  11. //Check if there is an input for niveau which can be converted to string. If this isn't the case set station to 'null'
  12. try
  13. {
  14. Scholen = Cbx_Niveau.SelectedItem.ToString();
  15.  
  16. }
  17. catch
  18. {
  19. Scholen = null;
  20. }
  21.  
  22. //Check if there is an input for wijk which can be converted to string. If this isn't the case set station to 'null'
  23. try
  24. {
  25. Wijken = Cbx_Wijk.SelectedItem.ToString();
  26. }
  27. catch
  28. {
  29. Wijken = null;
  30. }
  31.  
  32. //Check if there is an input for diefstal which can be converted to string. If this isn't the case set station to 'null'
  33. try
  34. {
  35. diefstal = Cbx_Diefstal.SelectedItem.ToString();
  36. }
  37. catch
  38. {
  39. diefstal = null;
  40. }
  41.  
  42. //Fill data with the read
  43. data = ReadQuery(Scholen, Wijken, diefstal);
  44. //Fill the chart with data from the induvidual rows.
  45. foreach (DataRow row in data.Rows)
  46. {
  47.  
  48. Console.WriteLine(row[0] + " " + row[1]);
  49. chart2.Series[0].Points.AddXY(row[0], row[1]);
  50. }
  51. }
  52.  
  53. private DataTable ReadQuery(string Cbx_Scholen, string Cbx_Wijk, string Cbx_Diefstal)
  54. {
  55. //check if the inputs are 'null'
  56. bool ScholenCheck = Cbx_Scholen == null,
  57. WijkCheck = Cbx_Wijk == null,
  58. DiefstalCheck = Cbx_Diefstal == null;
  59.  
  60. string[] ColumnName = "Stations namen, wijken, Diefstallen".Split(',');
  61. if (ScholenCheck || WijkCheck || DiefstalCheck)
  62. {
  63. // per halte laten zien hoeveel diefstallen er zijn geweest
  64. // kunnen filteren op haltes en soort diefstal
  65.  
  66. // alles weergeven van 1 niveau
  67. if (!ScholenCheck)
  68. {
  69. return ReadSql("select scholen.niveau,count(misdaad.*) from misdaad join straatnaam on misdaad.jaartal = " +
  70. "straatnaam.jaartal join station on station.code = komtAan.station where station.naam ='" + Cbx_Scholen + "'group by scholen.niveau order by scholen.niveau", ColumnName);
  71. }
  72. // alles weergeven van 1 wijk
  73. else if (!WijkCheck) return ReadSql("", ColumnName);
  74. // alles weergeven van 1 diefstal↓
  75. else if (!DiefstalCheck) return ReadSql("select station.naam, count(misdaad.*) from misdaad join komtAan on misdaad.jaartal = " +
  76. "komtAan.jaartal join station on station.code = komtAan.station where misdaad.type = '" + Cbx_Diefstal + "' group by station.naam order by station.naam", ColumnName);
  77. // alles weergeven↓
  78. else return ReadSql("select station.naam, count(misdaad.*) from misdaad join komtAan on misdaad.jaartal = " +
  79. "komtAan.jaartal join station on station.code = komtAan.station group by station.naam order by station.naam", ColumnName);
  80. }
  81. else
  82. {
  83. return ReadSql("select station.naam, count(misdaad.*) from misdaad join komtAan on misdaad.jaartal = " +
  84. "komtaan.jaartal join station on station.code = komtaan.station where misdaad.type = '" + Cbx_Diefstal + "' and station.naam = '" + Cbx_Scholen + "' " +
  85. "group by station.naam order by station.naam", ColumnName);
  86. }
  87. }
  88.  
  89. static public DataTable ReadSql(string statement, string[] columnName)
  90. {
  91. var connString = "Host=localhost;Username=postgres;Password=0e654eaf;Database=Project 3";
  92. DataTable datastore = new DataTable();
  93. var conn = new NpgsqlConnection(connString);
  94. {
  95. for (int i = 0; i < columnName.Length; i++)
  96. {
  97. datastore.Columns.Add(columnName[i]);
  98. }
  99. conn.Open();
  100. var cmd = new NpgsqlCommand(statement, conn);
  101. var reader = cmd.ExecuteReader();
  102. DataRow workRow;
  103.  
  104. while (reader.Read())
  105. {
  106. workRow = datastore.NewRow();
  107. for (int i = 0; i < columnName.Length; i++)
  108. {
  109. workRow[i] = workRow[i] + reader.GetString(i);
  110. }
  111. datastore.Rows.Add(workRow);
  112. }
  113. conn.Close();
  114. }
  115. return datastore;
  116. }
  117.  
  118. private void button2_Click(object sender, EventArgs e)
  119. {
  120. UpdateChart();
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement