LỖI 'Fill: SelectCommand.Connection property has not been initialized.' TRONG VISUAL
Chào mn, em gặp lỗi 'Fill: SelectCommand.Connection property has not been initialized.' khi làm form quản lý hóa đơn trong Visual studio 2019 ạ Mong mn giúp đỡ
* Trong class
class Functions
{
public static SqlConnection Con; //Khai báo đối tượng kết nối
public static void Connect()
{
Con = new SqlConnection(); //Khởi tạo đối tượng
Con.ConnectionString = @"Data Source=DESKTOP-3NA990A\\SQLEXPRESS;Initial Catalog=QLNT;Integrated Security=True";
Con.Open(); //Mở kết nối
//Kiểm tra kết nối
if (Con.State == ConnectionState.Open)
MessageBox.Show("Kết nối thành công");
else MessageBox.Show("Không thể kết nối với dữ liệu");
}
public static void Disconnect()
{
if (Con.State == ConnectionState.Open)
{
Con.Close(); //Đóng kết nối
Con.Dispose(); //Giải phóng tài nguyên
Con = null;
}
}
public static void FillCombo(string sql, ComboBox cbo, string ma, string ten)
{
SqlDataAdapter dap = new SqlDataAdapter(sql, Con);
DataTable table = new DataTable();
dap.Fill(table);
cbo.DataSource = table;
cbo.ValueMember = ma; //Trường giá trị
cbo.DisplayMember = ten; //Trường hiển thị
}
* Trong form hóa đơn:
namespace QLNT
{
public partial class frmHDN : Form
{
DataTable tblCTHDB; //Bảng chi tiết hoá đơn bán
public frmHDN()
{
InitializeComponent();
}
private void label8_Click(object sender, EventArgs e)
{
}
private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void frmHDN_Load(object sender, EventArgs e)
{
btnTao.Enabled = true;
btnLuu.Enabled = false;
btnXoa.Enabled = false;
txtMAHDBAN.ReadOnly = true;
txtTENNV.ReadOnly = true;
txtTENKH.ReadOnly = true;
txtTENTHUOC.ReadOnly = true;
txtDONGIA.ReadOnly = true;
txtTHANHTIEN.ReadOnly = true;
txtTONGTIEN.ReadOnly = true;
txtTONGTIEN.Text = "0";
Functions.FillCombo("SELECT MAKHACH, TENKHACH FROM DMKH$", cboMAKHACH, "MAKHACH", "MAKHACH");
cboMAKHACH.SelectedIndex = -1;
Functions.FillCombo("SELECT MANV, TENNV FROM TENNV$", cboMANV, "MaNhanVien", "TenKhach");
cboMANV.SelectedIndex = -1;
Functions.FillCombo("SELECT MaHang, TenHang FROM tblHang", cboMATHUOC, "MaHang", "MaHang");
cboMATHUOC.SelectedIndex = -1;
//Hiển thị thông tin của một hóa đơn được gọi từ form tìm kiếm
LoadDataGridView();
}
private void LoadInfoHoaDon()
{
string str;
str = "SELECT NGAY FROM HDBan$ WHERE MAHDBAN = N'" + txtMAHDBAN.Text + "'";
txtNGAYBAN.Text = Functions.ConvertDateTime(Functions.GetFieldValues(str));
str = "SELECT MaNhanVien FROM HDBan$ WHERE MaHDBan = N'" + txtMAHDBAN.Text + "'";
cboMANV.Text = Functions.GetFieldValues(str);
str = "SELECT MANV FROM HDBAN$ WHERE MAHDBAN = N'" + txtMAHDBAN.Text + "'";
cboMAKHACH.Text = Functions.GetFieldValues(str);
str = "SELECT TONGTIEN FROM HDBan$ WHERE MAHDBAN = N'" + txtMAHDBAN.Text + "'";
txtTONGTIEN.Text = Functions.GetFieldValues(str);
lblBANGCHU.Text = "Bằng chữ: " + Functions.ChuyenSoSangChu(txtTONGTIEN.Text);
}
private void LoadDataGridView()
{
string sql;
sql = "SELECT a.MATHUOC, b.TENTHUOC, a.SOLUONG, b.DONGIA, a.THANHTIEN FROM CTHDBan$ AS a, AS b WHERE a.MAHDBAN = N'" + txtMAHDBAN.Text + "' AND a.MAHANG=b.MAHANG";
tblCTHDB = Functions.GetDataToTable(sql);
dgvHDBanHang.DataSource = tblCTHDB;
dgvHDBanHang.Columns[0].HeaderText = "Mã hàng";
dgvHDBanHang.Columns[1].HeaderText = "Tên hàng";
dgvHDBanHang.Columns[2].HeaderText = "Số lượng";
dgvHDBanHang.Columns[3].HeaderText = "Đơn giá";
dgvHDBanHang.Columns[4].HeaderText = "Thành tiền";
dgvHDBanHang.Columns[0].Width = 80;
dgvHDBanHang.Columns[1].Width = 130;
dgvHDBanHang.Columns[2].Width = 80;
dgvHDBanHang.Columns[3].Width = 90;
dgvHDBanHang.Columns[4].Width = 90;
dgvHDBanHang.AllowUserToAddRows = false;
dgvHDBanHang.EditMode = DataGridViewEditMode.EditProgrammatically;
Functions.Connect();
}