Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 15 kết quả

Đề tài: Update từ lưới được nhập từ Excel vào database như thế nào?

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

    Mặc định Update từ lưới được nhập từ Excel vào database như thế nào?

    Xin chào mọi người!
    Mình có 1 số thắc mắc mong mọi người giúp đỡ.

    Mình đang làm quản lý nhỏ bằng C# + SQL Server
    Mình có một cái lưới, mình nhập file Excel từ lưới bằng Oledb, sau khi fill vào dataset, mình gán datasource cho lưới để hiển thị.
    Giờ mình muốn Update các dòng đó vào Database SQL thì làm thế nào hả mọi người.
    Đang còn mơ hồ cái này qá.
    Mong mọi người giúp đỡ

  2. #2
    Ngày gia nhập
    08 2009
    Nơi ở
    C:\Documents and Settings\ME\My Documents\Visual Studio 2010
    Bài viết
    516

    Có 2 cách:
    1. Duyệt từng dòng lấy dữ liệu Insert vào DB, tức là chèn từng Record một.
    2. Dùng hàm Update của SqlDataAdapter, cái này ngắn gọn mà lại nhanh.

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

    Trích dẫn Nguyên bản được gửi bởi iamonlining Xem bài viết
    Có 2 cách:
    1. Duyệt từng dòng lấy dữ liệu Insert vào DB, tức là chèn từng Record một.
    2. Dùng hàm Update của SqlDataAdapter, cái này ngắn gọn mà lại nhanh.
    Mình cũng làm như cách 2 của bạn.
    Vì trong SQL của mình đã có sẳn các Records rồi.
    Nên mình Import thì nó sẽ Update.
    Tuy nhiên khi Update thì ko đc.
    Bạn có thể nói rõ hơn 1 chút về phần Update này ko, mới vọc data binding nên ko hiểu rõ lắm bạn ạ.

  4. #4
    Ngày gia nhập
    02 2011
    Bài viết
    114

    Trích dẫn Nguyên bản được gửi bởi nht2007 Xem bài viết
    Mình cũng làm như cách 2 của bạn.
    Vì trong SQL của mình đã có sẳn các Records rồi.
    Nên mình Import thì nó sẽ Update.
    Tuy nhiên khi Update thì ko đc.
    Bạn có thể nói rõ hơn 1 chút về phần Update này ko, mới vọc data binding nên ko hiểu rõ lắm bạn ạ.
    Bạn dùng cách một đi.dẽ hiểu hơn đó

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

    Trích dẫn Nguyên bản được gửi bởi TheHalfHeart Xem bài viết
    Bạn dùng cách một đi.dẽ hiểu hơn đó
    Có thể gợi ý thêm chút đc ko bạn.
    1 Ít code ấy, vẫn chưa hình dung đc

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

    Mặc định Update từ lưới được nhập từ Excel vào database như thế nào?

    Mọi người giúp mình với :(

  7. #7
    Ngày gia nhập
    06 2011
    Bài viết
    277

    Trích dẫn Nguyên bản được gửi bởi nht2007 Xem bài viết
    Mọi người giúp mình với :(
    Bạn nên làm 1 vòng lặp for cho các giá trị của từng ô thay đổi theo từng dòng khi truyền tham số!!!

    ví dụ

    Code:
    for(int i = 0, i < datagridview.Rows.Count, i++)
    {
       manv = datagridview.Rows[i][0].value.ToString();
       tennv = datagridview.Rows[i][1].value.ToString();
    // Bạn làm hàm insert ở đây!!! 
    .....
     cmd.ExcuteNonquery("SQL insert..", connect);
      
    }

    Bạn nên làm transaction để nó có thể rollback khi chưa insert hết dữ liệu thì bị mất kết nối !!!

    Đây là ý mình nghĩ thui!! Mong giúp đc bạn ^^!

  8. #8
    Ngày gia nhập
    11 2008
    Nơi ở
    An Giang
    Bài viết
    502

    Trích dẫn Nguyên bản được gửi bởi iamonlining Xem bài viết
    Có 2 cách:
    1. Duyệt từng dòng lấy dữ liệu Insert vào DB, tức là chèn từng Record một.
    2. Dùng hàm Update của SqlDataAdapter, cái này ngắn gọn mà lại nhanh.
    Cách thứ 3 : dùng SQLBulkCopy xem.

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

    Trích dẫn Nguyên bản được gửi bởi linhgl88 Xem bài viết
    Bạn nên làm 1 vòng lặp for cho các giá trị của từng ô thay đổi theo từng dòng khi truyền tham số!!!

    ví dụ

    Code:
    for(int i = 0, i < datagridview.Rows.Count, i++)
    {
       manv = datagridview.Rows[i][0].value.ToString();
       tennv = datagridview.Rows[i][1].value.ToString();
    // Bạn làm hàm insert ở đây!!! 
    .....
     cmd.ExcuteNonquery("SQL insert..", connect);
      
    }

    Bạn nên làm transaction để nó có thể rollback khi chưa insert hết dữ liệu thì bị mất kết nối !!!

    Đây là ý mình nghĩ thui!! Mong giúp đc bạn ^^!
    Cám ơn bạn!
    Cách này thì mình làm được rồi.
    Cho mình hỏi là nếu dùng lệnh này cho 100 bản ghi thì tốc độ thế nào?
    Có nhanh không?
    Nếu 1000 bản ghi thì thế nào?
    Mình đang băn khoăn vấn đề này, mong bạn và mọi người góp ý giúp mình.

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

    Trích dẫn Nguyên bản được gửi bởi nht2007 Xem bài viết
    Cám ơn bạn!
    Cách này thì mình làm được rồi.
    Cho mình hỏi là nếu dùng lệnh này cho 100 bản ghi thì tốc độ thế nào?
    Có nhanh không?
    Nếu 1000 bản ghi thì thế nào?
    Mình đang băn khoăn vấn đề này, mong bạn và mọi người góp ý giúp mình.
    Mình nghĩ nếu với 100 record thì nó cũng ko làm chậm chương trình đâu!!!

    Còn nếu nhiều hơn 1000 thì cúng có thể??? Vì nó phải lập lại nhiều lần mà!!!

    Bạn thử chạy debug thì bạn sẽ thấy nó chạy wa những công đoạn nào!!!!

    Có lẽ cách 2 sẽ nhanh hơn!!! Nhưng có lẽ sẽ khó làm hơn cách mình đưa ra!!!

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

  1. Định dạng Ngày , Tháng , Năm trong việc nhập vào DATABASE và xuất ra file Excel
    Gửi bởi duyden289 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 08-11-2012, 08:35 PM
  2. ADO.NET Update csdl từ datagridview vào file excel có sẵn
    Gửi bởi hoanghuy90 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 07-11-2012, 03:39 PM
  3. Tự động update database trong lập trình C# thế nào ?
    Gửi bởi saonam trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 17-01-2011, 12:32 PM
  4. Định dạng bảng tỷ giá tiền tệ giữa database và excel
    Gửi bởi nobita255 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 3
    Bài viết cuối: 05-01-2011, 10:25 PM
  5. Import File Excel vào Database như thế nào?
    Gửi bởi lenhuyencntt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 01-07-2010, 09:22 AM

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