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!

Tạo form đăng nhập, kết nối dữ liệu SQL, đưa dữ liệu lên datagridview bằng VB. Net

 

Bài viết sẽ chia sẻ đến bạn một số code đơn giản để bạn có thể tạo, kiểm tra form đăng nhập, kết nối dữ liệu từ SQL, đưa dữ liệu lên datagridview bằng VB. Net. Đây là nội dung mà bài viết này cung cấp đến bạn. Hy vọng đây sẽ là một tài liệu tham khảo bổ ích để bạn có thể bắt đầu việc học lập trình quản lý.

Lưu ý: Bài viết này lấy ví dụ với cơ sở dữ liệu quản lý phòng trọ vì thế nó mang tính chất cơ bản, các bạn tham khảo để tự hoàn thành chương trình của mình.

Tạo form Đăng nhập như hình sau:


Tham khảo các đoạn code sau:

Imports System.Data.SqlClient 'Khai báo thư viện kết nối sql
Public Class Frm_Dangnhap
Private Sub bttDY_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttDY.Click
        If(txtTND.Text = "") Then 'Kiểm tra Tên người dùng có rỗng hay không?
MessageBox.Show("Bạn chưa nhập tên người dùng!")
            txtTND.Focus()
Else
            If(txtMK.Text = "") Then 'Kiểm tra Mật khẩu có rỗng hay không?
                MessageBox.Show("Bạn chưa nhập mật khẩu!")
                txtMK.Focus()
            Else
                Dim ketnoi As New Cls_Ketnoi 'Khai báo biến ketnoi
                Dim lq = ketnoi.Ktketnoi(txtTND.Text, txtMK.Text)
                If ketnoi.Ktketnoi(txtTND.Text, txtMK.Text) <> "" Then
                    MessageBox.Show("Bạn đã đăng nhập thành công!")                Frm_Quantri.send(ketnoi.conn, lq)
                    Frm_Quantri.Show()
                    Me.Hide()
                Else
                    MessageBox.Show("Tên người dùng hoặc mật khẩu không đúng hoặc lỗi kết nối!")
                    txtTND.Text = ""
                    txtMK.Text = ""
                    txtTND.Focus()
                End If
            End If
        End If
    End Sub
'Đặt sự kiện phím Enter
Private Sub txtTND_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtTND.KeyDown
        If e.KeyValue = Keys.Enter Then
            txtMK.Focus()
        End If
    End Sub
'Đặt sự kiện phím Enter
Private Sub txtMK_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtMK.KeyDown
        If e.KeyValue = Keys.Enter Then
            bttDY_Click(sender, e)
        End If
    End Sub
'Hàm Hủy bỏ
Private Sub bttHB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttHB.Click
        txtTND.Text = ""
        txtMK.Text = ""
        txtTND.Focus()
    End Sub
'Hàm kiểm tra giá trị nhập vào của textbox Tên người dùng
Private Sub txtTND_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtTND.TextChanged
        If(txtTND.Text <> "") Then
            Dim i As Integer
            i = 1
            Do While (i <= txtTND.Text.Length)
                If ((Mid(txtTND.Text, i, 1) >= "a" And (Mid(txtTND.Text, i, 1) <= "z")) Or (Mid(txtTND.Text, i, 1) >= "A" And Mid(txtTND.Text, i, 1) <= "Z") Or (Mid(txtTND.Text, i, 1) >= "0" And (Mid(txtTND.Text, i, 1) <= "9")) Or Mid(txtTND.Text, i, 1) = "@" Or Mid(txtTND.Text, i, 1) = "_" Or Mid(txtTND.Text, i, 1) = ".") Then
                    i = i + 1
                Else
                    Exit Do
                End If
            Loop
            If i = txtTND.Text.Length Then
                MessageBox.Show("Tên người dùng bao gồm chữ cái, chữ số, @, '.' và '_'")
                txtTND.Text = Mid(txtTND.Text,1, txtTND.Text.Length - 1)
                txtTND.SelectionStart = txtTND.Text.Length
                txtTND.Focus()
            ElseIf i < txtTND.Text.Length Then
                MessageBox.Show("Tên người dùng bao gồm chữ cái, chữ số, @, '.' và '_'")
                txtTND.Text = ""
                txtTND.Focus()
            End If
        End If
    End Sub
'Đặt thông báo cho Button Thoát
Private Sub bttThoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttThoat.Click
        If MessageBox.Show("Bạn có muốn thoát?", "THÔNG BÁO", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then
            Application.Exit()
        End If
    End Sub
'Đặt thông báo khi thoát Form từ cửa sổ (dấu x)
Private Sub Frm_Dangnhap_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
        If MessageBox.Show("Bạn có muốn thoát?", "THÔNG BÁO", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then
            Application.Exit()
        Else
            e.Cancel = True
        End If
    End Sub End Class


Tạo form Quản trị như hình sau:


Tham khảo các đoạn code sau:

Public Class Frm_Quantri
'Tùy chọn Thoát trên menu Hệ thống
Private Sub Item_Thoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Item_Thoat.Click
        If MessageBox.Show("Bạn có muốn thoát?", "THÔNG BÁO", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then
            Close()
        End If
    End Sub
'Hiển thị Form Phòng lên Form Quản trị trên menu Cập nhật
Private Sub Item_Phong_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Item_Phong.Click
        Dim Frm_P As New Frm_Phong
        Frm_P.Show()
        Frm_P.MdiParent = Me
    End Sub
Private connect As String 'Khai báo biến connect
Private loaiquyen As String 'Khai báo biến loaiquyen
Public Sub send(ByVal c As String, ByVal l As String)
        connect = c
        loaiquyen = l
    End Sub 'Đóng Form Quản trị
Private Sub Frm_Quantri_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Dim Frm_DN As New Frm_Dangnhap
        Frm_DN.Show()
        Me.Dispose()
    End Sub
'Hiển thị loại quyền khi đăng nhập hệ thống
Private Sub Frm_Quantri_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Item_Capnhat.Enabled = False
        If Trim(loaiquyen) = "admin" Then
            Item_Capnhat.Enabled = True
        End If
    End Sub 'Tùy chọn Đăng xuất trên menu Hệ thống
Private Sub Item_Dangxuat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Item_Dangxuat.Click
        Dim Frm_DN As New Frm_Dangnhap
        Frm_DN.Show()
        Me.Dispose()
    End Sub 'Hiển thị Form Khu nhà lên Form Quản trị
Private Sub Item_Khunha_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Item_Khunha.Click
        Dim Frm_KN As New Frm_Khunha
        Frm_KN.Show()
        Frm_KN.MdiParent = Me
    End Sub End Class

Tạo Class Kết nối, tham khảo các đoạn code sau:

Imports System.Data.SqlClient 'Khai báo kết nối sql
Public Class Cls_Ketnoi
'Kết nối đăng nhập
'Private conn = "Data Source=JACKYCHAN;Initial Catalog=QLPTNHOM07;Integrated Security=True"
'Public Function Ktketnoi(ByVal user As String, ByVal Pass As String) As Boolean
    '    Try
    '        Dim sqlcon As New SqlConnection(conn)
    '        Dim sql As New SqlDataAdapter("select * from NguoiDung where TenNguoiDung='" & user & "' and MatKhau='" & Pass & "'", sqlcon)
    '        Dim dt As New DataTable
    '        sql.Fill(dt)
    '        If dt.Rows.Count >= 1 Then
    '            Return True
    '        Else
    '            Return False
    '        End If
    '    Catch ex As Exception
    '        Return False
    '    End Try
    'End Function
'Kết nối đăng nhập sql với quyền người dùng
Public conn = "Data Source=JACKYCHAN;Initial Catalog=QLPTNHOM07;Integrated Security=True" Public Function Ktketnoi(ByVal user As String, ByVal Pass As String) As String
        Try
            Dim sqlcon As New SqlConnection(conn)
            Dim sql As New SqlDataAdapter("select * from NguoiDung where TenNguoiDung='" & user & "' and MatKhau='" & Pass & "'", sqlcon)
            Dim dt As New DataTable
            sql.Fill(dt)
            If dt.Rows.Count >= 1 Then
                Return dt.Rows(0).Item("Quyen").ToString
            Else
                Return ""
            End If
        Catch ex As Exception             Return ""
        End Try
    End Function
'Hàm đưa dữ liệu từ table bất kỳ từ sql vào datatable
Public Function getData(ByVal table As String) As DataTable
Dim sql = "select * from " & table Dim sqlcon As New SqlConnection(conn)
  Dim adapter As New SqlDataAdapter(sql, sqlcon)
Dim dt As New DataTable
       adapter.Fill(dt)
        Return dt
    End Function End Class

Tạo form Khu nhà như hình sau:


Tham khảo các đoạn code sau:

Imports System.Data.SqlClient 'Khai báo thư viện sql
Public Class Frm_Khunha
    Dim kn As New Cls_Ketnoi 'Khai báo biến kết nối kn
    Private Sub Frm_Khunha_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'dgvKhunha.DataSource = kn.getData("Khunha") 'Hiển thị trên datagridview table KhuNha thông qua hàm getData trong Class Kết nối
        cbbPhong.DataSource = kn.getData("Khunha") 'Hiển thị trên ComboBox
        cbbPhong.DisplayMember = "TenKhu" 'Giá trị hiện thị trên ComboBox là Tên Khu
        cbbPhong.ValueMember = "Makhu" 'Giá trị hiện thị trên datagridview là Mã khu (được chọn)
    End Sub 'Hàm thay đổi giá trị lựa chọn trên ComboBox hay bắt sự kiện khi chọn lại giá trị cho ComboBox
    Private Sub cbbPhong_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbbPhong.SelectedValueChanged
        Dim Khu As String 'Khai báo biến Khu
        Khu = cbbPhong.SelectedValue.ToString 'Lấy giá trị cho biến Khu
        'MessageBox.Show(Khu) 'Hiển thị thông báo là Mã khu
        Dim sql = "select * from PhongTro where Makhu='" & Khu & "'" 'Khai báo biến sql với câu truy vấn sql để lấy Mã khu từ table Phòng trọ
        Dim sqlcon As New SqlConnection(kn.conn)
        Dim adapter As New SqlDataAdapter(sql, sqlcon)
        Dim dt As New DataTable
        adapter.Fill(dt)
        dgvKhunha.DataSource = dt
        dgvKhunha.Columns("Motaphong").Visible = False 'Ẩn cột Mô tả phòng
        dgvKhunha.Columns("MaKhu").HeaderText = "Mã khu" 'Đặt lại tiêu đề cho cột Mã khu
       dgvKhunha.Columns("SoPhong").HeaderText = "Số phòng" 'Đặt lại tiêu đề cho cột Số phòng
        dgvKhunha.Columns("Soluongtoida").HeaderText = "Số lượng" 'Đặt lại tiêu đề cho cột số lượng dgvKhunha.AlternatingRowsDefaultCellStyle.BackColor = Color.Brown 'Đặt màu nền cách dòng cho datagridview dgvKhunha.AlternatingRowsDefaultCellStyle.ForeColor = Color.Aqua 'Đặt màu chữ cách dòng cho datagridview
    End Sub End Class

Chúc bạn thành công!

Nhận xét

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

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; Sql

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;