diff --git a/TestWins/FixedConnectionSql.cs b/TestWins/FixedConnectionSql.cs new file mode 100644 index 0000000..5f2af9a --- /dev/null +++ b/TestWins/FixedConnectionSql.cs @@ -0,0 +1,78 @@ +using MySql.Data.MySqlClient; +using TestWins.Model; + +namespace TestWins.Repository +{ + public class StudentRepository + { + private readonly FixedConnectionSql_db = new FixedConnectionSql(); + + public void Create(Student student) + { + using var conn = _db.connectSql(); + conn.Open(); + + string query = "INSERT INTO students (name, age, course) VALUES (@name, @age, @course)"; + using var cmd = new MySqlCommand(query, conn); + + cmd.Parameters.AddWithValue("@name", student.Name); + cmd.Parameters.AddWithValue("@age", student.age); + cmd.Parameters.AddWithValue("@course", student.course); + + cmd.ExecuteNonQuery(); + } + + public List GetAll() + { + var list = new List(); + + using var conn = _db.connectionSql(); + conn.Open(); + + string query = "SELECT * FROM students"; + using var cmd = new MySqlCommand(query, conn); + using var reader = cmd.ExecuteReader(); + + while(reader.Read()) + { + list.Add(new Student + { + studentId = reader.GetInt32(0), + Name = reader.GetString(1), + age = reader.GetInt(32), + course = reader.GetString(3), + }); + } + return list; + } + + public void Update(Student student) + { + using var conn = _db.connectSql(); + conn.Open(); + + string query = "UPDATE students SET name = @name, age = @age, course = @course WHERE id = @id"; + using var cmd = new MySqlCommand(query, conn); + + cmd.Parameters.AddWithValue("@id", student.studentId); + cmd.Parameters.AddWithValue("@name", student.Name); + cmd.Parameters.AddwithValue("@age", student.age); + cmd.Parameters.AddWithValue("@course", student.course); + + cmd.ExecuteNonQuery(); + } + + public void Delete(int id) + { + using var conn = _db.connectSql(); + conn.Open(); + + string query = "DELETE FROM students WHERE id = @id"; + using var cmd = new MySqlCommand(query, conn); + + cmd.Parameters.AddWithValue("@id", id); + + cmd.ExecuteNonQuery(); + } + } +} diff --git a/TestWins/Form1.cs b/TestWins/Form1.cs index fcefc88..75318da 100644 --- a/TestWins/Form1.cs +++ b/TestWins/Form1.cs @@ -21,23 +21,45 @@ private void loadData() private void btnAdd_Click(object sender, EventArgs e) { - + Students s = new Students() + { + Name = txtName.Text, + Age = int.Parse(txtAge.Text), + Course = txtCourse.Text + }; + controller.insert(s); + loadData(); } private void btnUpdate_Click(object sender, EventArgs e) { - + Students S = new Students() + { + Id = int.Parse(txtId.Text), + Name = txtName.Text, + Age = int.Parse(txtAge.Text), + Course = txtCourse.Text + }; + controller.update(S); + loadData(); } private void btnDelete_Click(object sender, EventArgs e) { - - - + int id = int.Parse(txtId.Text); + controller.delete(id); + loadData(); } private void dataGridView1_CellClick(object sender, EventArgs e) { - + if (e.RowIndex >= 0) + { + DataGridViewRow row = dataGridView1.Rows[e.RowIndex]; + txtId.Text = row.Cells["Id"].Value.ToString(); + txtName.Text = row.Cells["Name"].Value.ToString(); + txtAge.Text = row.Cells["Age"].Value.ToString(); + txtCourse.Text = row.Cells["Course"].Value.ToString();s + } } }