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

Đề tài: Update trong lập trình LINQ như thế nào?

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

    Mặc định Update trong lập trình LINQ như thế nào?

    Các bạn cho mình hỏi một tý. Khi mình dùng mô hình LINQ thì mình không tài nào có thể update được khóa chính bởi vì trong bảng của mình có một khóa chình và một khóa ngoại mình muốn đưa giá trị khóa ngoại vô để có thể lấy câu select whre từ khóa ngoại để sửa khóa ngoại. Có bạn nào biết cách khắc phục mong được giúp đỡ.

  2. #2
    Ngày gia nhập
    04 2009
    Bài viết
    108

    Trích dẫn Nguyên bản được gửi bởi mrjone_07 Xem bài viết
    Các bạn cho mình hỏi một tý. Khi mình dùng mô hình LINQ thì mình không tài nào có thể update được khóa chính bởi vì trong bảng của mình có một khóa chình và một khóa ngoại mình muốn đưa giá trị khóa ngoại vô để có thể lấy câu select whre từ khóa ngoại để sửa khóa ngoại. Có bạn nào biết cách khắc phục mong được giúp đỡ.
    Post code lên tớ xem cho
    Ai đã gieo vào lòng Ai nỗi nhớ
    Để vì Ai sóng vỗ những đêm dài
    Ai có biết vì Ai-Ai không ngủ
    Trằn trọc hoài nỗi nhớ của riêng Ai.

  3. #3
    Ngày gia nhập
    03 2011
    Bài viết
    27

    Trích dẫn Nguyên bản được gửi bởi nguoidanongxala Xem bài viết
    Post code lên tớ xem cho
    code đây nè bạn:
    var querry = (from ht in htDataContext.hethongs
    where ht.manhanvien == htDTO.Manhanvien
    select ht).FirstOrDefault<hethong>();
    querry.username = htDTO.Username;
    querry.password = htDTO.Password;
    htDataContext.SubmitChanges();

    Trong đó username là khóa chính, còn manhanvien la khoa ngoại.

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

    Trích dẫn Nguyên bản được gửi bởi mrjone_07 Xem bài viết
    code đây nè bạn:
    var querry = (from ht in htDataContext.hethongs
    where ht.manhanvien == htDTO.Manhanvien
    select ht).FirstOrDefault<hethong>();
    querry.username = htDTO.Username;
    querry.password = htDTO.Password;
    htDataContext.SubmitChanges();

    Trong đó username là khóa chính, còn manhanvien la khoa ngoại.
    Sao không ai giúp mình hết vậy!

  5. #5
    Ngày gia nhập
    10 2009
    Bài viết
    45

    Nếu bảng của mình thế này

    tblSinhVien (Mon,SinhVienID)

    1 Môn có nhiều sinh viên đăng kí
    1 sinh viên đăng kí nhiều môn

    vậy mình phải đặt của 2 là khóa chính , nghĩa là khóa chính là gồm cả cột

    nhưng dùng linq để insertonSubmit thì k đc
    mặc dù tự chèn trong sql thì oke, sao thế nhỉ

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

    Mặc định Update trong lập trình LINQ như thế nào?

    Trích dẫn Nguyên bản được gửi bởi mrjone_07 Xem bài viết
    Các bạn cho mình hỏi một tý. Khi mình dùng mô hình LINQ thì mình không tài nào có thể update được khóa chính bởi vì trong bảng của mình có một khóa chình và một khóa ngoại mình muốn đưa giá trị khóa ngoại vô để có thể lấy câu select whre từ khóa ngoại để sửa khóa ngoại. Có bạn nào biết cách khắc phục mong được giúp đỡ.
    Mình mới tham gia nên ko bik post Code như thế nào Copy tạm ra đây cho bạn đọc nhá.
    Cái này là làm cho Web ko phải winform nhá :



    Đây là Model trong MCV của ASP.Net thì không cần nhiều Code để thực hiện lệnh Update

    public void Save()
    {
    db.SubmitChanges();
    }


    Đây là Controler. Trong MVC có hỗ trợ sẵn hàn UpdateMode()

    // GET: /Question/Edit/5

    public ActionResult QuestionEdit(string id)
    {
    Question question = qm.getQuestionByQuestionID(id);
    return View("QuestionEdit",question);
    }

    //
    // POST: /Question/Edit/5

    [HttpPost]
    public ActionResult QuestionEdit(string id, FormCollection collection)
    {
    if (!ModelState.IsValid)
    {
    return View("QuestionEdit");
    }
    else
    {
    if (ValidateQuestionEdit())
    {
    try
    {
    // TODO: Add update logic here

    Question question = qm.getQuestionByQuestionID(id);
    if (Request.Files["QuestionImage"] != null)
    {
    if (Request.Files["QuestionImage"].ContentLength > 0)
    {

    DirectoryInfo dr = new DirectoryInfo(Server.MapPath("~/Content/Images/QuestionImages/"));
    System.IO.File.Delete(dr + "/" + question.QuestionImage);

    question.QuestionImage = UploadImages("QuestionImage", 100, 100);

    }
    }
    if (Request.Files["QuestionVideo"].ContentLength > 0)
    {
    foreach (string file in Request.Files)
    {
    if (file == "QuestionVideo")
    {
    DirectoryInfo drVideo = new DirectoryInfo(Server.MapPath("~/Content/Videos/QuestionVideo/"));
    if (question.QuestionVideo != null)
    {
    System.IO.File.Delete(drVideo + "/" + question.QuestionVideo);
    }

    question.QuestionVideo = UploadVideo(Request.Files[file].FileName);
    }
    }

    }


    UpdateModel(question);
    qm.Save();

    return RedirectToAction("QuestionsList");
    }
    catch(Exception ex)

    {
    ViewData["updateQuestion"] = "Lỗi trong quá trình cập nhật:" + ex.ToString();
    return View("QuestionEdit");
    }
    }
    return RedirectToAction("QuestionsList");
    }
    }


    Đây là View

    <% using (Html.BeginForm("QuestionEdit", "Questions", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {%>
    <%= Html.ValidationSummary(true) %>
    <fieldset class="add">
    <legend><b>Sửa đổi nội dung câu hỏi</b></legend>

    <%= Html.HiddenFor(model => model.QuestionID) %>
    <div>
    <div>
    Nhà tài trợ :
    </div>

    <%this.ViewData["SponsorID"] = new SelectList(spm.getAllSponsor(), "SponsorID", "SponsorName"); %>
    <%=Html.DropDownList("SponsorID", (IEnumerable<SelectListItem>)ViewData["SponsorID"], new { @style = "width:400px;" })%>

    <%= Html.ValidationMessageFor(model => model.SponsorID) %>
    </div>


    <div>
    <div>Tiêu đề câu hỏi :</div>
    <%= Html.TextBoxFor(model => model.QuestionTitle, new { @style = "width:400px;" })%>
    <%= Html.ValidationMessageFor(model => model.QuestionTitle)%>
    </div>

    <div>
    <div>Nội dung câu hỏi :</div>
    <%= Html.TextAreaFor(model => model.QuestionContent, new { @style = "width:400px;" })%>
    <%= Html.ValidationMessageFor(model => model.QuestionContent)%>
    </div>

    <div>
    <div>Ảnh cho câu hỏi :</div>
    <input id="File1" type="file" name="QuestionImage" style= "width:400px" runat="server" />
    <%= Html.ValidationMessage("QuestionImage")%>
    </div>


    <div>
    <div>Video cho câu hỏi :</div>
    <input type="file" name="QuestionVideo" style= "width:400px" />
    <%= Html.ValidationMessage("QuestionVideo")%>
    </div>


    <div>
    <div>&nbsp</div>
    <div>
    <input type="submit" value="Tạo Câu Hỏi" />
    <a href='<%= Url.Action("QuestionsList", "Questions") %>'><input type="button" value="Hủy"/></a>&nbsp;
    </div>
    </div>


    </fieldset>

    <% } %>

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

  1. Tạo nút Update gồm 3 chức năng Thêm/Sửa/Xóa bằng linq to sql
    Gửi bởi anhthien8 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 3
    Bài viết cuối: 22-04-2013, 10:10 PM
  2. Kết nối cơ sở dữ liệu trong linq như thế nào ?
    Gửi bởi tinak4 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 09-12-2012, 12:16 PM
  3. ADO.NET Tại sao update dử liệu dùng sproc bằng linq không refresh data?
    Gửi bởi thoigian15 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 04-06-2012, 05:40 PM
  4. Update nhiều bảng cùng 1 lúc trong linq với MVC 3.0
    Gửi bởi nguyenquoc_tnt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 30-06-2011, 09:00 AM
  5. Update dữ liệu sử dụng Linq như thế nào?
    Gửi bởi danielle2009 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 11-08-2010, 06:09 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