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

Đề tài: Lưu dữ liệu trên DataSet

  1. #1
    Ngày gia nhập
    01 2007
    Bài viết
    7

    Post Lưu dữ liệu trên DataSet

    Mình có viết đoạn code

    Code:
    private ClsMain objMain;
    private SqlCommand objCom;
    private SqlDataAdapter objAdapter ;
    private DataSet objDS ;
    private DataTable objTable ;
    
    strQuery = "Select Field1, Field2 From MFList Where ID=5";
    grdDefine.DataSource = null; //grdDefine: DataGridView
    grdDefine.Rows.Clear();
    grdDefine.Refresh();
                    
    OpenConnect();
    objCom = new SqlCommand(strQuery, objMain.objConn);
    objAdapter = new SqlDataAdapter(objCom);
    objDS = new DataSet("MFList ");
    objAdapter.Fill(objDS,strTable);
    objTable = objDS.Tables[strTable];
    grdDefine.DataSource = objTable;
    Sau khi hiển thị dữ liệu đã OK, mình cho phép User nhập liệu trên lưới. Đây là đoạn code lưu trữ:

    objAdapter.Update(objDS, strTable);

    Nhưng khi chạy thì lại báo lổi, mong bạn giúp
    Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 06-12-2007 lúc 10:26 PM. Lý do: Đưa code vào tag

  2. #2
    Ngày gia nhập
    06 2007
    Nơi ở
    HCM
    Bài viết
    365

    Có lẽ bạn chưa hiểu cách thức làm việc của ado.net, đoạn mã trên sẽ gặp lỗi ở dòng
    Code:
    objAdapter.Update(objDS, strTable);
    do update,insert,deletecommand chưa được khởi tạo, bạn phải tự code lấy các command tương ứng hoặc cho ado.net tự sinh các command phù hợp bằng lệnh
    Code:
     System.Data.SqlClient.SqlCommandBuilder sb = new System.Data.SqlClient.SqlCommandBuilder(objAdapter);
    đặt dòng này trước lệnh update, các sql tương ứng sẽ tự sinh chính xác với điều kiện :là bảng đơn và có ít nhất 1 khóa chính ... nếu câu select chứa field liên thông từ nhiều bảng thì bạn phải tự soạn lấy sql tương ứng hoặc dùng mẹo nhỏ không ghi lại sửa đổi với dataadapter sau khi sửa select command( applly for strong type dataset)

  3. #3
    Ngày gia nhập
    01 2007
    Bài viết
    7

    Ah, mình cứ tưởng là là lưới sẽ tự động thêm vào

    OK, cám ơn bạn nhiều

  4. #4
    Ngày gia nhập
    08 2008
    Bài viết
    19

    Đúng là nhập liệu ở cái lưới của bạn với cái objDS trong câu lệnh objAdapter.Update(objDS, strTable) nếu không thêm cái command thì nó đâu có thể tương tác được với nhau.^^!

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

  1. Trả lời: 0
    Bài viết cuối: 15-04-2013, 11:33 PM
  2. Xin hướng dẫn add 1 DataTable ( IList,IEnumable) vào 1 DataTable có sẵn trên DataSet
    Gửi bởi billsang trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 09-11-2012, 02:44 PM
  3. Database Làm sao đưa ràng buộc vào dataset
    Gửi bởi sieutanbinh1711 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 25-04-2011, 11:19 PM
  4. Đổ dữ liệu vào DataSet xsd
    Gửi bởi Timban_gai trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 1
    Bài viết cuối: 20-10-2010, 08:02 AM
  5. Xử lý report với kiểu DataSet trên C#....
    Gửi bởi ocbien06 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 09-04-2010, 08:34 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