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

Đề tài: Gán giá trị của 2 bảng với nhau????

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

    Unhappy Gán giá trị của 2 bảng với nhau????

    E đang tạo cái đề thi random theo cú pháp :
    public void TaoDe()

    {
    for (int i = 0; i <= 30; i++)
    {
    Random so = new Random();
    int mach = so.Next(1, 300);
    CauHoi ch = DB.CauHois.Where(cau => cau.Ma == mach).FirstOrDefault();
    DeThi dt = new DeThi();
    dt.MaCH=ch.Ma;
    DB.DeThis.InsertOnSubmit(dt);
    DB.SubmitChanges();

    }
    }
    Mà bị báo lỗi
    Object reference not set to an instance of an object.

    Mong Các bác giúp đỡ. thanks!

  2. #2
    Ngày gia nhập
    08 2010
    Nơi ở
    bình dương
    Bài viết
    275

    Theo mình đoán thì lỗi này là do trong câu lệnh CauHoi ch = DB.CauHois.Where(cau => cau.Ma == mach).FirstOrDefault(); này không select được kết quả trả về nên bị null.
    FirstOrDefault là nếu có nhiều thì lấy cái đầu tiên, còn không có thì trả về null. Bạn nên check kiểm tra null trước khi làm thao tác tiếp theo

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

    Trích dẫn Nguyên bản được gửi bởi tuanngocpt Xem bài viết
    Theo mình đoán thì lỗi này là do trong câu lệnh CauHoi ch = DB.CauHois.Where(cau => cau.Ma == mach).FirstOrDefault(); này không select được kết quả trả về nên bị null.
    FirstOrDefault là nếu có nhiều thì lấy cái đầu tiên, còn không có thì trả về null. Bạn nên check kiểm tra null trước khi làm thao tác tiếp theo
    mình check null nó vẫn báo lỗi như vậy? bạn có thể chỉ giúp mình cách check null cái ? thanks

  4. #4
    Ngày gia nhập
    01 2014
    Bài viết
    87

    Bạn kiểm tra thêm: ch.Ma xem có null hay không

    if(ch!=null && ch.Ma !=null)
    {
    //thu chien insert
    }

    ..:: http://codehay365.com ::..

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

    Thanks. Mình đã làm được rồi.
    Nhân tiện đây cho mình hỏi tí ?
    Mình muốn lấy 1 bản ghi cuối cùng trong bảng
    DeThi dt = DB.DeThis.LastOrDefault();
    mình dùng cú pháp này thì nói báo lỗi : The query operator 'LastOrDefault' is not supported.
    Ko biết cú pháp trên có đúng ko? nhờ các bác chỉ giáo ? e mới học nên chưa thạo lắm về linq

  6. #6
    Ngày gia nhập
    10 2013
    Nơi ở
    Trên nóc nhà
    Bài viết
    132

    Mặc định Gán giá trị của 2 bảng với nhau????

    Mình muốn lấy 1 bản ghi cuối cùng trong bảng

    Thì phải Order by theo cái gì chứ?

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