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ố 13 kết quả

Đề tài: Lấy primary key tự động tăng vừa mới Insert của 1 Table bằng LinQ

  1. #1
    Ngày gia nhập
    10 2011
    Nơi ở
    TP.HCM
    Bài viết
    115

    Question Lấy primary key tự động tăng vừa mới Insert của 1 Table bằng LinQ

    Chào các bạn.
    Mình muốn lấy ID primary key tự động tăng của 1 Table bằng LinQ. Có điều trong LinQ ko giống như ADO.NET là có thể Select Max(ID) From Table được. Bạn nào có các nào lấy ID primary key tự động tăng của table vừa mới Insert ko?
    THIẾT KẾ WEBSITE CHUẨN SEO - GIÁ RẺ - CHẤT LƯỢNG - UY TÍN : webdepgiasoc.com

  2. #2
    Ngày gia nhập
    10 2010
    Nơi ở
    Biên Hòa
    Bài viết
    562

    bạn thử cách này nhé !

    Visual C# Code:
    1. protected void btnInsertProductCategory_Click(object sender, EventArgs e)
    2. {
    3.   ProductCategory productCategory = new ProductCategory();
    4.   productCategory.Name = “Sample Category”;
    5.   productCategory.ModifiedDate = DateTime.Now;
    6.   productCategory.rowguid = Guid.NewGuid();
    7.   int id = InsertProductCategory(productCategory);
    8.   lblResult.Text = id.ToString();
    9. }
    10.  
    11. //Insert a new product category and return the generated ID (identity value in SQL Server)
    12. private int InsertProductCategory(ProductCategory productCategory)
    13. {
    14.   ctx.ProductCategories.InsertOnSubmit(productCategory);
    15.   ctx.SubmitChanges();
    16.   return productCategory.ProductCategoryID;
    17. }
    Code thuê các dự án mà bạn yêu cầu với các ngôn ngữ khác nhau.
    Web ASP.NET - Application Windows - C# - Android
    Giá cả sẽ thương lượng sau khi chúng tôi nhận và phân tích dự án
    Email: freelancerctc@gmail.com

  3. #3
    Ngày gia nhập
    12 2011
    Nơi ở
    vùng kín
    Bài viết
    139

    bạn sử dụng hàm Max xem.
    Visual C# Code:
    1. int IdMax= ctx.ten_bang.Max(w => w.ID);
    viết sau
    Visual C# Code:
    1. ctx.SubmitChanges();
    Đã được chỉnh sửa lần cuối bởi dangbon : 03-06-2013 lúc 10:38 AM.

  4. #4
    Ngày gia nhập
    10 2011
    Nơi ở
    TP.HCM
    Bài viết
    115

    Trích dẫn Nguyên bản được gửi bởi kenturo Xem bài viết
    bạn thử cách này nhé !

    Visual C# Code:
    1. protected void btnInsertProductCategory_Click(object sender, EventArgs e)
    2. {
    3.   ProductCategory productCategory = new ProductCategory();
    4.   productCategory.Name = “Sample Category”;
    5.   productCategory.ModifiedDate = DateTime.Now;
    6.   productCategory.rowguid = Guid.NewGuid();
    7.   int id = InsertProductCategory(productCategory);
    8.   lblResult.Text = id.ToString();
    9. }
    10.  
    11. //Insert a new product category and return the generated ID (identity value in SQL Server)
    12. private int InsertProductCategory(ProductCategory productCategory)
    13. {
    14.   ctx.ProductCategories.InsertOnSubmit(productCategory);
    15.   ctx.SubmitChanges();
    16.   return productCategory.ProductCategoryID;
    17. }
    Bạn ơi, bạn giải thích cho mình 1 xíu được ko? Mình k hiểu j hết?
    THIẾT KẾ WEBSITE CHUẨN SEO - GIÁ RẺ - CHẤT LƯỢNG - UY TÍN : webdepgiasoc.com

  5. #5
    Ngày gia nhập
    10 2011
    Nơi ở
    TP.HCM
    Bài viết
    115

    Trích dẫn Nguyên bản được gửi bởi dangbon Xem bài viết
    bạn sử dụng hàm Max xem.
    Visual C# Code:
    1. int IdMax= db.ten_bang.Max(w => w.ID);
    viết sau
    Visual C# Code:
    1. ctx.SubmitChanges();
    Cám ơn bạn nha,mình làm theo bạn và đã lấy được rồi
    THIẾT KẾ WEBSITE CHUẨN SEO - GIÁ RẺ - CHẤT LƯỢNG - UY TÍN : webdepgiasoc.com

  6. #6
    Ngày gia nhập
    05 2009
    Nơi ở
    Vinh city
    Bài viết
    157

    Mặc định Lấy primary key tự động tăng vừa mới Insert của 1 Table bằng LinQ

    Trích dẫn Nguyên bản được gửi bởi namnguyen1251 Xem bài viết
    Cám ơn bạn nha,mình làm theo bạn và đã lấy được rồi
    Thực ra Id tự tăng thì cần lấy ra làm gì hả bạn? Có cần thiết lấy Id tự tăng ra ko vậy?
    Everytime you smile, I smile!

  7. #7
    Ngày gia nhập
    10 2011
    Nơi ở
    TP.HCM
    Bài viết
    115

    Trích dẫn Nguyên bản được gửi bởi giangcoi48k Xem bài viết
    Thực ra Id tự tăng thì cần lấy ra làm gì hả bạn? Có cần thiết lấy Id tự tăng ra ko vậy?
    Có chứ bạn, nhiều lúc cần phải lấy chứ, mình làm cái đơn đặt hàng cho khách hàng,khi DONDATHANG có id tự tăng thì lấy id đó insert qua bảng CHITIET_DONDATHANG. nói chung nhiều lúc cần phải lấy.
    THIẾT KẾ WEBSITE CHUẨN SEO - GIÁ RẺ - CHẤT LƯỢNG - UY TÍN : webdepgiasoc.com

  8. #8
    Ngày gia nhập
    05 2009
    Nơi ở
    Vinh city
    Bài viết
    157

    Trích dẫn Nguyên bản được gửi bởi namnguyen1251 Xem bài viết
    Có chứ bạn, nhiều lúc cần phải lấy chứ, mình làm cái đơn đặt hàng cho khách hàng,khi DONDATHANG có id tự tăng thì lấy id đó insert qua bảng CHITIET_DONDATHANG. nói chung nhiều lúc cần phải lấy.
    Khi đã có DonDatHang, thì insert qua Chitiet_DonDatHang, chẳng cần quan tâm đến ID của DonDatHang làm gì bạn àh.
    Giả sử bạn đã có 1 đối tượng DonDatHang là objDonDatHang
    Chi tiết đơn đặt hàng là objChiTietDonDatHang
    Thế thì để gán thuộc tính khoá ngoại DonDatHang cho ChiTietDonDatHang, bạn gán như sau:
    objChiTietDonDatHang.DonDatHang = objDonDatHang
    Làm như vậy, bạn chẳng cần quan tâm đến ID của cái objDonDatHang là cái gì.
    Tiện lợi của cách làm trên là khi bạn insert đơn đặt hàng, đồng thời insert luôn chi tiết đơn đặt hàng,
    thì bạn không cần submitchange cái đơn đặt hàng trước để lấy Id ra rồi mới gán vào chi tiết đơn đặt hàng, mà chỉ cần tạo đơn đặt hàng, tạo chi tiết đơn đặt hàng, gán thuộc tính đơn đặt hàng vào chi tiết đơn đặt hàng và submitchange một lần.
    Ok, chúc bạn thành công!
    Everytime you smile, I smile!

  9. #9
    Ngày gia nhập
    12 2010
    Bài viết
    99

    Trích dẫn Nguyên bản được gửi bởi giangcoi48k Xem bài viết
    Khi đã có DonDatHang, thì insert qua Chitiet_DonDatHang, chẳng cần quan tâm đến ID của DonDatHang làm gì bạn àh.
    Giả sử bạn đã có 1 đối tượng DonDatHang là objDonDatHang
    Chi tiết đơn đặt hàng là objChiTietDonDatHang
    Thế thì để gán thuộc tính khoá ngoại DonDatHang cho ChiTietDonDatHang, bạn gán như sau:
    objChiTietDonDatHang.DonDatHang = objDonDatHang
    Làm như vậy, bạn chẳng cần quan tâm đến ID của cái objDonDatHang là cái gì.
    Tiện lợi của cách làm trên là khi bạn insert đơn đặt hàng, đồng thời insert luôn chi tiết đơn đặt hàng,
    thì bạn không cần submitchange cái đơn đặt hàng trước để lấy Id ra rồi mới gán vào chi tiết đơn đặt hàng, mà chỉ cần tạo đơn đặt hàng, tạo chi tiết đơn đặt hàng, gán thuộc tính đơn đặt hàng vào chi tiết đơn đặt hàng và submitchange một lần.
    Ok, chúc bạn thành công!
    Chưa hiểu ý bạn lắm , bạn có thể viết rõ bằng code được không ? Mình cũng đang quan tâm vấn đề này
    Đã được chỉnh sửa lần cuối bởi thvnhn : 10-06-2013 lúc 01:06 PM.

  10. #10
    Ngày gia nhập
    05 2009
    Nơi ở
    Vinh city
    Bài viết
    157

    Trích dẫn Nguyên bản được gửi bởi thvnhn Xem bài viết
    Chưa hiểu ý bạn lắm , bạn có thể viết rõ bằng code được không ? Mình cũng đang quan tâm vấn đề này
    Lấy ví dụ ở trên, một chi tiết đơn đặt hàng có 1 thuộc tính khóa ngoại là Id của đơn đặt hàng. Khi insert dữ liệu, thay vì
    Visual C# Code:
    1. objChiTietDonDatHang.DonDatHangId = objDonDatHang.DonDatHangId
    bạn sẽ gán
    Visual C# Code:
    1. objChiTietDonDatHang.DonDatHang = objDonDatHang
    Như vậy, bạn không cần quan tâm đến Id tự tăng của DonDatHang, sẽ không mất truy vấn để lấy ra Id của DonDatHang
    Everytime you smile, I smile!

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

  1. MS Access Lỗi lỗi no unique index found for the referenced field of the primary table
    Gửi bởi kid_1412 trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 1
    Bài viết cuối: 27-03-2013, 03:37 PM
  2. MySQL Error Violation of PRIMARY KEY constraint. Cannot insert duplicate key in object
    Gửi bởi tran_thom trong diễn đàn Thắc mắc MySQL và SQLite
    Trả lời: 3
    Bài viết cuối: 26-11-2011, 11:44 AM
  3. MS SQL Lỗi Lỗi There are no primary or candidate keys in the referenced table khi tạo Foreign key của table
    Gửi bởi supervirus trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 0
    Bài viết cuối: 15-06-2011, 05:22 PM
  4. Xử lý hai primary key trong 1 Table như thế nào?
    Gửi bởi goder2910 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 4
    Bài viết cuối: 10-04-2011, 09:51 PM
  5. Lỗi no unique index found for the referenced field of the primary table
    Gửi bởi lovedtn trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 1
    Bài viết cuối: 29-05-2009, 08:41 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