Chuyển đến nội dung chính

Khắc phục lỗi "Not enough free space on disk (86 Mb)!"

Nếu bạn là một YouTuber chuyên nghiệp thì bạn sẽ phải luôn đối mặt với tình trạng hết dung lượng ổ đĩa do làm việc với nhiều file video chất lượng cao. Điển hình là tôi đây, thường hay gặp phải lỗi này " Not enough free space on disk " do quá tải các file cache của phần mềm biên tập video gây ra. Tôi đã có cách nhanh để khắc phục vấn đề này! Lỗi tiêu hao dung lượng ổ đĩa trong máy tính thường do các phần mềm biên tập ảnh, video chất lượng cao... gây nên, chính vì thế một khi chúng ta thấy ổ đĩa đầy lên bất thường mà trước đó không cài đặt bất cứ phần mềm nào thì hãy dùng cách khắc phục sau nhé! Bước 1 : Truy cập đến thư mục lưu các file tạm của phần mềm biên tập, chẳng hạn như AVSVideoEditor . C:\Users\Administrator\Appdata\Roaming\AVS4YOU\AVSVideoEditor\Temp Bước 2 : Tiến hành xóa các thư mục chứa file video tạm của phần mềm biên tập video là coi như xong!

Thêm, xóa, sửa trực tiếp trên datagridview bằng ngôn ngữ C# (Quản lý sinh viên)


Vừa qua, tôi đã làm xong đồ án môn học với đề tài viết chương trình quản lý sinh viên bằng ngôn ngữ C#. Và nhận được số điểm cũng tàm tạm. Tiện đây, tôi muốn chia sẻ với các bạn đề tài này với nội dung là thêm, xóa, sửa trực tiếp trên datagridview bằng ngôn ngữ C#. Mục đích chia sẻ bởi vì trong quá trình tôi làm đồ án, tôi tìm kiếm trên mạng chỉ có một ít nguồn tham khảo - rất khó. Hy vọng, tôi chia sẻ nó trên bài viết này sẽ giúp tôi có thể tối ưu chương trình hơn và cũng giúp các bạn có một nguồn tham khảo tương đối.

Chương trình kết nối với SQL Server (2000), các bạn tự tạo cơ sở dữ liệu quản lý sinh viên và tham khảo nguồn code trong bài viết dưới đây để hoàn thiện bài làm của mình nhé.

Form Sinh viên:


Khai báo kết nối sql bằng cách thêm dòng lệnh:
using System.Data.SqlClient;


Khai báo các biến toàn cục để kết nối dữ liệu SQL bằng cách thêm các dòng lệnh trong class Sinhvien:
string connectionString;
SqlConnection conn = new SqlConnection();
DataSet ds;
SqlDataAdapter da;


Viết hàm LoadData() để đưa dữ liệu lên dataGridViewSinhvien:
private void LoadData()
        {
            
            connectionString = "Data Source=JackyChan;Initial Catalog=QLSV;Integrated Security=True";
            ds = new DataSet();
            string query = "Select * from Khoa";
            try
            {
                SqlConnection conn = new SqlConnection(connectionString);
                da = new SqlDataAdapter(query, conn);
                da.Fill(ds, "Khoa");
                (dataGridViewSinhvien.Columns["Makhoa"] as DataGridViewComboBoxColumn).DataSource = ds.Tables["Khoa"];
                (dataGridViewSinhvien.Columns["Makhoa"] as DataGridViewComboBoxColumn).DisplayMember = "Makhoa";
                (dataGridViewSinhvien.Columns["Makhoa"] as DataGridViewComboBoxColumn).ValueMember = "Makhoa";
                da.SelectCommand.CommandText = "Select * from Sinhvien";
                da.Fill(ds, "Sinhvien");
                dataGridViewSinhvien.DataSource = ds.Tables["Sinhvien"];

            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

Gọi hàm LoadData() trong Form load bằng cách nhấp đúp chuột vào Form Sinh viên, sau đó thêm vào dòng lệnh:
private void Sinhvien_Load(object sender, EventArgs e)
        {
            LoadData();   
        }

Nhấp đúp chuột vào buttonLuu và viết các lệnh như sau:
private void buttonLuu_Click(object sender, EventArgs e)
        {
            try
            {
                SqlConnection conn = new SqlConnection(connectionString);
                conn.Open();
                int CurrentIndex = dataGridViewSinhvien.CurrentCell.RowIndex;
                string Masv = Convert.ToString(dataGridViewSinhvien.Rows[CurrentIndex].Cells[0].Value.ToString());
                string Holot = Convert.ToString(dataGridViewSinhvien.Rows[CurrentIndex].Cells[1].Value.ToString());
                string Ten = Convert.ToString(dataGridViewSinhvien.Rows[CurrentIndex].Cells[2].Value.ToString());
                string Phai = Convert.ToString(dataGridViewSinhvien.Rows[CurrentIndex].Cells[3].Value.ToString());
                string Ngaysinh = Convert.ToString(dataGridViewSinhvien.Rows[CurrentIndex].Cells[4].Value.ToString());
                string Makhoa = Convert.ToString(dataGridViewSinhvien.Rows[CurrentIndex].Cells[5].Value.ToString());
                string insertStr = "Insert into Sinhvien Values('" + Masv + "','" + Holot + "','" + Ten + "','" + Phai + "','" + Ngaysinh + "','" + Makhoa + "')";
                SqlCommand insertCmd = new SqlCommand(insertStr, conn);
                insertCmd.CommandType = CommandType.Text;
                insertCmd.ExecuteNonQuery();
                LoadData();
                MessageBox.Show("Bạn đã lưu thành công!", "THÔNG BÁO", MessageBoxButtons.OK);
                conn.Close();
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

Nhấp đúp chuột vào buttonXoa và viết các lệnh như sau:
private void buttonXoa_Click(object sender, EventArgs e)
        {
            try
            {
                SqlConnection conn = new SqlConnection(connectionString);
                conn.Open();
                int CurrentIndex = dataGridViewSinhvien.CurrentCell.RowIndex;
                string   Masv =Convert.ToString (dataGridViewSinhvien.Rows[CurrentIndex].Cells[0].Value.ToString ());
                string deletedStr = "Delete from Sinhvien where Masv='" + Masv + "'";
                SqlCommand deletedCmd = new SqlCommand(deletedStr, conn);
                deletedCmd.CommandType = CommandType.Text;
                deletedCmd.ExecuteNonQuery();
                da.Update(ds,"Sinhvien");
                LoadData();
                MessageBox.Show("Bạn đã xóa thành công!", "THÔNG BÁO", MessageBoxButtons.OK);
                conn.Close();
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

Nhấp đúp chuột vào buttonSua và viết các lệnh sau:
private void buttonSua_Click(object sender, EventArgs e)
        {
            try
            {
                SqlConnection conn = new SqlConnection(connectionString);
                conn.Open();
                int CurrentIndex = dataGridViewSinhvien.CurrentCell.RowIndex;
                string Masv = Convert.ToString(dataGridViewSinhvien.Rows[CurrentIndex].Cells[0].Value.ToString());
                string Holot = Convert.ToString(dataGridViewSinhvien.Rows[CurrentIndex].Cells[1].Value.ToString());
                string Ten = Convert.ToString(dataGridViewSinhvien.Rows[CurrentIndex].Cells[2].Value.ToString());
                string Phai = Convert.ToString(dataGridViewSinhvien.Rows[CurrentIndex].Cells[3].Value.ToString());
                string Ngaysinh = Convert.ToString(dataGridViewSinhvien.Rows[CurrentIndex].Cells[4].Value.ToString());
                string Makhoa = Convert.ToString(dataGridViewSinhvien.Rows[CurrentIndex].Cells[5].Value.ToString());
                string updateStr = "Update Sinhvien set Masv='" + Masv + "',Holot='" + Holot + "',Ten='" + Ten + "',Phai='" + Phai + "',Ngaysinh='" + Ngaysinh + "',Makhoa='" + Makhoa + "' where Masv='" + Masv + "'";
                SqlCommand updateCmd = new SqlCommand(updateStr, conn);
                updateCmd.CommandType = CommandType.Text;
                updateCmd.ExecuteNonQuery();
                LoadData();
                MessageBox.Show("Bạn đã sửa thành công!", "THÔNG BÁO", MessageBoxButtons.OK);
                conn.Close();
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

Nhấp đúp chuột vào buttonThoat và thêm các dòng lệnh sau:
Quanlysinhvien _Quanlysinhvien = new  Quanlysinhvien();
 _Quanlysinhvien.Show();
 Hide();

Tượng tự, bạn cũng tham khảo và hoàn thiện cho các form còn lại trong chương trình quản lý sinh viên. Nếu các bạn có nhu cầu tham khảo thêm, có thể tải tài liệu tham khảo của tôi tại đây.

Ngoài ra, các bạn có thể comment hoặc gửi mail liên hệ cho tôi. Tôi sẵn sàng trao đổi với bạn bất cứ thời gian nào.

Lưu ý: Yêu cầu ghi rõ nguồn https://thuthuatmaytinh24gio.blogspot.com khi sao chép nội dung này.

Tác giả: Đỗ Thanh Trọng

Nhận xét

Bài đăng phổ biến từ blog này

Bài tập Pascal cơ bản dành cho học sinh - sinh viên

Bài viết dưới đây sẽ giới thiệu đến các bạn học sinh - sinh viên tổng hợp các bài tập Pascal cơ bản để các bạn tham khảo. Chúc các bạn học tốt! Bài 1: Viết chương trình nhập vào 1 số N nguyên dương và in ra màn hình các số chẵn từ 0 -> N mỗi số chiếm 4 vị trí và 15 số trên 1 dòng. uses crt;  var n,i,dem:integer; BEGIN clrscr; write('Nhap n: '); readln(n); dem:=0; for i:=1 to n do begin if i mod 2=0 then begin write(i:4); dem:=dem+1; end; if dem=15 then begin dem:=0; writeln; {in duoc 15 so thi xuong dong}; end; readln END. Bài 2: Nhập vào 2 số nguyên dương a và b. + Tính và in ra màn hình tổng, hiệu, tích, thương và UCLN của 2 số đó. + Tính tổng các ước số dương của |a+b|. uses crt; var a,b,tg,i,tong:integer; function tinh(x,y:integer):integer; begin tg:=x mod y; if tg=0 then tinh:=y else tinh:=tinh(y,tg); end; BEGIN clrscr; write('Nhap a: '); readln(a); write('Nhap b: '); readln(

Tổng hợp các bài tập lập trình trên Turbo Pascal (Phần tiếp theo - P3)

Trong bài viết sau đây sẽ chia sẻ đến bạn tổng hợp các bài tập cơ bản lập trình trên phần mền Turbo Pascal. Hy vọng, nó sẽ giúp ích cho bạn khi mới bắt đầu làm quen với ngôn ngữ lập trình cơ bản. Các bài tập tổng hợp bao gồm: các lệnh nhập xuất đơn giản, các câu lệnh điều khiển, dữ liệu kiểu mảng, chương trình con ... Phần tiếp theo - P3.   31. V iết chương trình nhập vào 1 số nguyên. Cho biết số vừa nhập là chẵn hay lẻ. Program so_nguyen; Uses crt; Var a, i: integer; Begin Clrscr; Write ('Nhap so nguyen n: '); Readln (n); i := 1; If n mod 2 <> i then write ('So chan') Else write ('So le'); Readln; End. 32. Viết chương trình nhập vào điểm lý thuyết và điểm thực hành cho 1 học viên. Tính điểm trung bình cho học viên đó với: dtb = (dlt * 2 + dth * 3)/5 Cho biết kết quả thi của học viên đó, biết rằng nếu dtb >  5 và không có diểm nào dưới 4 thì "Đậu", ngược lại "Rớt". Program hoc_vien;