AddResult.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using Npgsql;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. namespace TestsManipulate
  12. {
  13. public partial class AddResult : Form
  14. {
  15. private MainPage _mainPage;
  16. public AddResult(MainPage mainPage)
  17. {
  18. InitializeComponent();
  19. _mainPage = mainPage;
  20. LoadTitles();
  21. LoadLogins();
  22. }
  23. private void AddResultButton(object sender, EventArgs e)
  24. {
  25. var conn = new NpgsqlConnection(Program.connString);
  26. conn.Open();
  27. var cmd = new NpgsqlCommand(
  28. "call add_new_result(@test_id, @user_id, @score, @max_score, @user_login)", conn);
  29. cmd.Parameters.AddWithValue("test_id", Convert.ToInt32(comboBox1.SelectedValue));
  30. cmd.Parameters.AddWithValue("user_id", Convert.ToInt32(comboBox2.SelectedValue));
  31. cmd.Parameters.AddWithValue("score", Convert.ToInt32(textBox1.Text));
  32. cmd.Parameters.AddWithValue("max_score", Convert.ToInt32(textBox2.Text));
  33. cmd.Parameters.AddWithValue("user_login", Program.login);
  34. cmd.ExecuteNonQuery();
  35. MessageBox.Show("Запись успешно добавлена", "Успешно");
  36. _mainPage.LoadResults();
  37. this.Close();
  38. }
  39. private void LoadTitles()
  40. {
  41. var conn = new NpgsqlConnection(Program.connString);
  42. conn.Open();
  43. var cmd = new NpgsqlCommand(
  44. "SELECT id, title FROM tests ORDER BY title", conn);
  45. var reader = cmd.ExecuteReader();
  46. comboBox1.DisplayMember = "title";
  47. comboBox1.ValueMember = "id";
  48. var dt = new DataTable();
  49. dt.Load(reader);
  50. comboBox1.DataSource = dt;
  51. }
  52. private void LoadLogins()
  53. {
  54. var conn = new NpgsqlConnection(Program.connString);
  55. conn.Open();
  56. var cmd = new NpgsqlCommand(
  57. "SELECT id, login FROM users ORDER BY login", conn);
  58. var reader = cmd.ExecuteReader();
  59. comboBox2.DisplayMember = "login";
  60. comboBox2.ValueMember = "id";
  61. var dt = new DataTable();
  62. dt.Load(reader);
  63. comboBox2.DataSource = dt;
  64. }
  65. }
  66. }