Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void UpdateChart()
- {
- DataTable data;
- string Scholen;
- string Wijken;
- string diefstal;
- chart2.Titles.Clear();
- chart2.Series[0].Points.Clear();
- chart2.Series[0].Name = "Diefstallen per wijk";
- //Check if there is an input for niveau which can be converted to string. If this isn't the case set station to 'null'
- try
- {
- Scholen = Cbx_Niveau.SelectedItem.ToString();
- }
- catch
- {
- Scholen = null;
- }
- //Check if there is an input for wijk which can be converted to string. If this isn't the case set station to 'null'
- try
- {
- Wijken = Cbx_Wijk.SelectedItem.ToString();
- }
- catch
- {
- Wijken = null;
- }
- //Check if there is an input for diefstal which can be converted to string. If this isn't the case set station to 'null'
- try
- {
- diefstal = Cbx_Diefstal.SelectedItem.ToString();
- }
- catch
- {
- diefstal = null;
- }
- //Fill data with the read
- data = ReadQuery(Scholen, Wijken, diefstal);
- //Fill the chart with data from the induvidual rows.
- foreach (DataRow row in data.Rows)
- {
- Console.WriteLine(row[0] + " " + row[1]);
- chart2.Series[0].Points.AddXY(row[0], row[1]);
- }
- }
- private DataTable ReadQuery(string Cbx_Scholen, string Cbx_Wijk, string Cbx_Diefstal)
- {
- //check if the inputs are 'null'
- bool ScholenCheck = Cbx_Scholen == null,
- WijkCheck = Cbx_Wijk == null,
- DiefstalCheck = Cbx_Diefstal == null;
- string[] ColumnName = "Stations namen, wijken, Diefstallen".Split(',');
- if (ScholenCheck || WijkCheck || DiefstalCheck)
- {
- // per halte laten zien hoeveel diefstallen er zijn geweest
- // kunnen filteren op haltes en soort diefstal
- // alles weergeven van 1 niveau
- if (!ScholenCheck)
- {
- return ReadSql("select scholen.niveau,count(misdaad.*) from misdaad join straatnaam on misdaad.jaartal = " +
- "straatnaam.jaartal join station on station.code = komtAan.station where station.naam ='" + Cbx_Scholen + "'group by scholen.niveau order by scholen.niveau", ColumnName);
- }
- // alles weergeven van 1 wijk
- else if (!WijkCheck) return ReadSql("", ColumnName);
- // alles weergeven van 1 diefstal↓
- else if (!DiefstalCheck) return ReadSql("select station.naam, count(misdaad.*) from misdaad join komtAan on misdaad.jaartal = " +
- "komtAan.jaartal join station on station.code = komtAan.station where misdaad.type = '" + Cbx_Diefstal + "' group by station.naam order by station.naam", ColumnName);
- // alles weergeven↓
- else return ReadSql("select station.naam, count(misdaad.*) from misdaad join komtAan on misdaad.jaartal = " +
- "komtAan.jaartal join station on station.code = komtAan.station group by station.naam order by station.naam", ColumnName);
- }
- else
- {
- return ReadSql("select station.naam, count(misdaad.*) from misdaad join komtAan on misdaad.jaartal = " +
- "komtaan.jaartal join station on station.code = komtaan.station where misdaad.type = '" + Cbx_Diefstal + "' and station.naam = '" + Cbx_Scholen + "' " +
- "group by station.naam order by station.naam", ColumnName);
- }
- }
- static public DataTable ReadSql(string statement, string[] columnName)
- {
- var connString = "Host=localhost;Username=postgres;Password=0e654eaf;Database=Project 3";
- DataTable datastore = new DataTable();
- var conn = new NpgsqlConnection(connString);
- {
- for (int i = 0; i < columnName.Length; i++)
- {
- datastore.Columns.Add(columnName[i]);
- }
- conn.Open();
- var cmd = new NpgsqlCommand(statement, conn);
- var reader = cmd.ExecuteReader();
- DataRow workRow;
- while (reader.Read())
- {
- workRow = datastore.NewRow();
- for (int i = 0; i < columnName.Length; i++)
- {
- workRow[i] = workRow[i] + reader.GetString(i);
- }
- datastore.Rows.Add(workRow);
- }
- conn.Close();
- }
- return datastore;
- }
- private void button2_Click(object sender, EventArgs e)
- {
- UpdateChart();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement