30/09/2018, 17:03

[Hỏi]Vấn để load dữ liệu từ SQL vào Combobox

Cho em hỏi làm sao để load dữ liệu từ một bảng trong SQL vào Combobox??? Em viết đoạn code sau nó không chỉ load dữ liệu vô mà nó còn tự động thêm mới dữ liệu vào bảng mà mình cần load nữa.
Ví dụ: Em thêm mới vào một Ngành Kỹ thuật phần mềm trong Khoa Công nghệ thông tin rồi lưu lại thì nó lại tự động lưu thêm một khoa Công nghệ thông tin trong bảng Khoa nữa.
Em chỉ muốn đổ dữ liệu từ TenKhoa từ bảng Khoa sang combobox frmNganh thôi. Ai biết chỉ em với. Em cám ơn nhiều.

        public void LoadComboBox()
        {
            DataTable dt = new DataTable();
            connection.Open();
            try
            {
                SqlDataAdapter da = new SqlDataAdapter("Select TenKhoa From Khoa", connection);
                da.Fill(dt);
                connection.Close();
            }
            catch(Exception ex)
            {
                throw new Exception("Error " + ex.ToString());
            }

            try
            {
                cbbTenKhoa.DataSource = dt;
                cbbTenKhoa.DisplayMember = "TenKhoa";
                cbbTenKhoa.ValueMember = "TenKhoa";
            }
            catch(Exception ex)
            {
                MessageBox.Show("Có lỗi khi load dữ liệu!
", ex.ToString());
            }
        } 
Phạm Hoàng Tuấn viết 19:07 ngày 30/09/2018

Em thêm mới vào một Ngành Kỹ thuật phần mềm trong Khoa Công nghệ thông tin rồi lưu lại thì nó lại tự động lưu thêm một khoa Công nghệ thông tin trong bảng Khoa nữa.

Cái này e fai xem lại code lúc thêm 1 ngành vào.

Em chỉ muốn đổ dữ liệu từ TenKhoa từ bảng Khoa sang combobox frmNganh thôi. Ai biết chỉ em với. Em cám ơn nhiều

A ngĩ đoạn code load dữ liệu vào combobox này phải ổn chứ nhỉ? Nó không thể tự động thêm mới dữ liệu vào được ??? e thử dùng đoạn này xem

cbbTenKhoa.DataSource = dt.Copy();
 cbbTenKhoa.DisplayMember = "TenKhoa";
 cbbTenKhoa.ValueMember = "TenKhoa";
AnNdth viết 19:13 ngày 30/09/2018

Dạ e làm đc r a. E sửa lai ValueMember = "MaKhoa" thì đc a. Nhưng e cũng chưa hiểu tại sao???
A cho em hỏi nếu e có 2 combobox 1 cái là Khoa cái Ngành. Giả sử em chọn Khoa: CNTT thì combobox của Ngành chỉ hiện những Ngành thuộc khoa CNTT thì e phải làm sao ạ? Có phải là viết câu truy vấn SQL hay em phải bắt sự kiện selected của commbox Khoa ạ?

Phạm Hoàng Tuấn viết 19:20 ngày 30/09/2018

Trong sự kiện SelectedIndexChanged của combobox KHOA, e viết truy vấn lấy tất cả các ngành của khoa được chọn (lấy mã khoa dc chọn bằng cách lấy cmbKHOA.SelectedValue) rồi gắn vào Combobox NGÀNH.

AnNdth viết 19:17 ngày 30/09/2018
private void cbbTenKhoa_SelectedIndexChanged(object sender, EventArgs e)
        {
            cbbTenNganh.DataSource = xl.LayDanhSach("Select * From Nganh Where TenKhoa = '" + cbbTenKhoa.SelectedValue + "'");
            cbbTenNganh.DisplayMember = "TenNganh";
            cbbTenNganh.ValueMember = "MaNganh";
        }

Làm như vậy đúng k a? Em cho đoạn này vào rồi mà giờ nó không hiện ngành nữa!!! :’(

Phạm Hoàng Tuấn viết 19:10 ngày 30/09/2018

TenKhoa

e sửa tên khoa thành makhoa trong câu truy vấn thử xem ???

Bài liên quan
0