Từ 1 tới 1 trên tổng số 1 kết quả

Đề tài: Lỗi không Update record trên datagrid khi load sang table khác thông qua bindingsource

  1. #1
    Ngày gia nhập
    10 2011
    Bài viết
    12

    Mặc định Lỗi không Update record trên datagrid khi load sang table khác thông qua bindingsource

    Project của mình sử dụng thông qua bindingsource để đưa grid
    table 1 thì update được dữ liệu
    Nhưng sau khi thay đổi datasource của bindingsource để load 1 table khác lên grid thì update dữ liệu ko được. Mình chỉ sử dụng 1 form và 1 grid để hiển thị dữ liệu thôi. Nên khi lựa chọn danh sách nào thì grid sẽ load table đó lên thông qua bindingsource. Mình mới làm demo trên các btn để thử trước khi làm trên các menu.
    Code chi tiết như sau:

    Code:
            OleDbConnection Conn = new OleDbConnection();
            OleDbDataAdapter Da = new OleDbDataAdapter();
            DataSet DTset = new DataSet();
            DataTable Tbl = new DataTable();
            OleDbCommand CMd = new OleDbCommand();
            BindingSource bd = new BindingSource(); 
    try
                {
                   
                    string strConect = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Application.StartupPath + @"\mydatable.mdb;";
                    Conn.ConnectionString = strConect;
                    Conn.Open();               
                    
                }
                catch (Exception Ex)
                {
                    MessageBox.Show(" Error: " + Ex.Message);
    
                }
                    
                    CMd.CommandText = "Select * From TBacSi";
                    CMd.Connection = Conn;
                    Da.SelectCommand = CMd;
                    Da.Fill(Tbl);
                    bindingSource1.DataSource = Tbl;
                   MyFlexGridClassic.DataSource = bindingSource1;                  
                      MyFlexGridClassic.AllowEditing = true;
    Lựa chọn hiển thị 1 danh sách khác:

    Code:
    private void btnDSKH_Click(object sender, EventArgs e)
            {
                CMd.CommandText = "Select * From TKhachHang";            
                Tbl.Columns.Clear();
                Tbl.Clear();       
                Da.UpdateCommand = CMd;
                Da.Fill(Tbl);            
                
            }
    Khi update hoặc thêm mới thì mình làm như sau: BtnSave này mình dùng chung cho các bảng khi load lên grid.
    Code:
    private void btnSave_Click(object sender, EventArgs e)
            {
                OleDbCommandBuilder cmdbuilder = new OleDbCommandBuilder(Da);          
               
               bindingSource1.EndEdit();           
               Da.Update(Tbl);          
                MessageBox.Show("Okie");      
                
            }
    Khi load lên danh sách 1, mình update, thêm mới được.
    Chuyển sang danh sách 2 thì ko được.
    bug ở lệnh
    Code:
    Da.Update(Tbl);
    Khi tớ xài bindingsource kéo thả thì làm được
    Nó tạo ra 1 cái tableapdatermanager
    nên Save thì chỉ cần:

    Code:
    Tableadapter.UpdateAll(mydatableDataset);
    Thế là nó xài được cả với tất cả các table khi được load lên grid.
    Bạn nào debug giúp với
    Đã được chỉnh sửa lần cuối bởi nightmare1111 : 01-12-2011 lúc 02:52 PM.

Các đề tài tương tự

  1. Cách load 1 table vào 2 datagrid trong C#?
    Gửi bởi MYNAM trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 20-11-2011, 10:34 PM
  2. Lỗi: You cannot add or change a record because a related record is required in table?
    Gửi bởi huy_langtu trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 31-03-2011, 12:16 AM
  3. Xóa Row trên Datagrid sau đó update vào SQL. Help?
    Gửi bởi ngochan011290 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 07-06-2010, 10:24 PM
  4. Cách update data từ datagrid vào 2 table?
    Gửi bởi who_am_i trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 19-01-2009, 06:19 PM
  5. Thêm 1 record vào bindingsource
    Gửi bởi nthung trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 2
    Bài viết cuối: 15-08-2008, 12:06 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn