Kết nối cơ sở dữ liệu

Một phần của tài liệu Học phần phân tích thiết kế các hệ thông thông tin Đềề tài quản lí sinh viên trường Đại học (Trang 27 - 32)

CHƯƠNG 4: Xây dựng hệ thống

4.2 Xây dựng phần mềm quản lý hệ thống hoàn chỉnh của dự án

4.2.3 Kết nối cơ sở dữ liệu

- Thiết kế các chức năng chính và phương thức cho việc xây dựng chương trình:

 Kết nối CSDL với project Fastfood: Sau khi hoàn thành và

thêm dữ liệu vào các bản, ta dùng Sever Explorer để kết nối với CSDL đó, copy data source trong mục Advance.

 Tạo class kết nối Utility: class kết nối này có đường dẫn

data source lúc nãy ta copy, được khai báo ở các form để dùng dữ liệu từ database.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Data.SqlClient;

using System.Data;

namespace WindowsFormsApp1 { internal classUtility

{

public static SqlConnection conn;

public static SqlCommand cmd;

public static SqlDataAdapter da;

public SqlConnection OpenDB() {

conn = new SqlConnection(@"Data Source=HUANBOYZ98;Initial Catalog=QLSV;Integrated Security=True");

return conn;

}

public static void OpenConnection() {

string sql = @"Data Source=HUANBOYZ98;Initial Catalog=QLSV;Integrated Security=True";

try {

conn = new SqlConnection(sql);

conn.Open();

}

catch (Exception ex) {

} }

public static void DisConnection() {

conn.Close();

conn.Dispose();

conn = null; }

public static DataTable GetDataTable(string sql)

{

cmd = new SqlCommand(sql, conn);

da = new SqlDataAdapter();

da.SelectCommand = cmd;

DataTable table = new DataTable();

da.Fill(table);

da.Dispose();

cmd.Dispose();

return table;

}

public static void Excute(string sql) {

cmd = new SqlCommand(sql, conn);

cmd.ExecuteNonQuery();

} } }

 Hiển thị dữ liệu bằng Datagridview: Khi người dùng click vào từng form chức năng, dữ liệu ở các bảng sẽ được lấy từ câu truy vấn các bảng đó đổ lên Datagridview được viết trong hàm ShowCombobox(), và trong form load bất kì ta gọi hàm this. ShowCombobox() để hiển thị dữ liệu mà ta truy vấn tương ứng:

public void ShowCombobox() { conn = ut.OpenDB();

conn.Open();

cmd = new SqlCommand("select * from Lop", conn);

da = new SqlDataAdapter(cmd);

da.SelectCommand = cmd;

DataTable table = new DataTable();

da.Fill(table);

comboBox1.DataSource = table;

comboBox1.DisplayMember = "MaLop"; comboBox1.ValueMember = "TenLop";

}

private void Form1_Load(object sender, EventArgs e) { this.ShowCombobox();

}

 Sự kiện chọn mã lớp ở Combobox: Sau khi chọn mã lớp ở Combobox xong thì Datagridview sẽ hiển thị ra dữ liệu có mã lớp mà người dùng chọn

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{ string a = comboBox1.Text;

string sql = "select * from SinhVien where MaLop = N'" + a +

"'";

this.ShowData(sql);

}

 Sự kiện Datagridview Click: Khi người dùng click vào dữ liệu ở Datagridview, dữ liệu sẽ được đổ lên các textbox, combobox trên form tương ứng, tiện cho việc xóa, sửa dữ liệu.

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)

{ int chiso = dataSinhVien.CurrentRow.Index;

textBox6.Text = dataSinhVien[0, chiso].Value.ToString();

textBox2.Text = dataSinhVien[1, chiso].Value.ToString();

textBox3.Text = dataSinhVien[2, chiso].Value.ToString();

dateTimePicker1.Text = dataSinhVien[3, chiso].Value.ToString();

textBox7.Text = dataSinhVien[4, chiso].Value.ToString();

textBox1.Text = dataSinhVien[5, chiso].Value.ToString();

textBox4.Text = dataSinhVien[6, chiso].Value.ToString();

textBox5.Text = dataSinhVien[7, chiso].Value.ToString();

textBox6.Enabled = false; }

 Sự kiện Button Thêm Click: Khi người dùng muốn thêm 1 sinh viên, 1 giảng viên hay điểm nào đó, thì một số textbox chính và button sẽ được mở các để cho người dùng nhập dữ liệu vào, rõ hơn là chuyển từ trạng thái đọc sang trạng thái ghi dữ liệu. Các dữ liệu từ các textbox sẽ được đưa vào database sau đó sẽ hiển thị trở lại Datagridview.

private void button1_Click(object sender, EventArgs e)

{ string a = textBox6.Text;

string b = textBox2.Text;

string c = textBox3.Text;

string d = dateTimePicker1.Text;

string f = textBox7.Text;

string g = textBox1.Text;

string h = textBox4.Text;

string i = textBox5.Text;

string sql = "insert into SinhVien values ( '" + a + "', N'" + b + "', '" + c + "', '" + d + "',N'" + f + "',N'" + f + "',N'" + h +

"',N'" + i + "' )"; Utility.Excute(sql);

this.ShowData("select * from SinhVien");

}

 Sự kiện Button Sửa Click: Khi người dùng muốn sửa thông tin của sinh viên, giảng viên hay 1 thông tin nào đó (không thể sửa thông tin mã sinh viên) thì chỉ cần click vào hàng dữ liệu muốn sửa trên Datagridview, dữ liệu đó sẽ được đổ lên các textbox, combobox để cho người dùng sửa, sau khi hoàn tất quá trình sửa dữ liệu, ta chọn Sửa. Sau khi sửa xong các dữ liệu ở trong các textbox sẽ được xóa hết.

private void button2_Click(object sender, EventArgs e) { textBox6.Enabled = true;

textBox6.Text = Chuan_Hoa_Chuoi(textBox6.Text);

textBox2.Text = Chuan_Hoa_Chuoi(textBox2.Text);

textBox3.Text = Chuan_Hoa_Chuoi(textBox3.Text);

textBox7.Text = Chuan_Hoa_Chuoi(textBox7.Text);

textBox1.Text = Chuan_Hoa_Chuoi(textBox1.Text);

textBox4.Text = Chuan_Hoa_Chuoi(textBox4.Text);

textBox5.Text = Chuan_Hoa_Chuoi(textBox5.Text);

string sql = "update SinhVien set HoTen = N'"+textBox2.Text+ "', MaLop = N'"+textBox3.Text+"', NgaySinh = N'"+dateTimePicker1.Text+"', GioiTinh = N'"+textBox7.Text+ "', QueQuan = N'"+textBox1.Text+"', SoDienThoai = N'"+textBox4.Text+"', HeDT = N'"+textBox5.Text+"' where MaSinhVien = '" + textBox6.Text +

"'";

Utility.Excute(sql);

this.ShowData("select * from SinhVien");

textBox6.Clear();

textBox2.Clear();

textBox3.Clear();

textBox7.Clear();

textBox1.Clear();

textBox4.Clear();

textBox5.Clear();

}

 Sự kiện Button Xóa Click: Khi người dùng muốn xóa thông tin của sinh viên, giảng viên hay 1 thông tin nào đó chỉ cần ta click chuột vào hàng dữ liệu muốn xóa trên Datagridview và chọn Xóa, dữ liệu hàng đó sẽ biến mất ngay lập tức.

private void button3_Click(object sender, EventArgs e) { int chiso = dataSinhVien.CurrentRow.Index;

string sql = "delete from SinhVien where MaSinhVien = '" + dataSinhVien[0, chiso].Value.ToString() + ;"'"

Utility.Excute(sql);

this.ShowData("select * from SinhVien");

textBox6.Clear();

textBox2.Clear();

textBox3.Clear();

textBox7.Clear();

textBox1.Clear();

textBox4.Clear();

textBox5.Clear();

}

 Sự kiện Button Thoát : Khi người dùng không muốn dùng chương trình nữa sẽ chọn Thoát.

private void btnThoat_Click(object sender, EventArgs e)

{ if(MessageBox.Show("Bạn có muốn thoát không?","Thông báo!", MessageBoxButtons.YesNo) == DialogResult.Yes ) Close();

}

Một phần của tài liệu Học phần phân tích thiết kế các hệ thông thông tin Đềề tài quản lí sinh viên trường Đại học (Trang 27 - 32)

Tải bản đầy đủ (PDF)

(39 trang)