01/10/2018, 01:12

Lỗi không thêm được sản phẩm từ c# vào cơ sở dữ liệu sql

mình làm bài tập này, lỗi là không thể thêm sản phẩm vào cơ sở dữ liệu, còn mà thêm trực tiếp tại sql thì lại được
1.thêm mới

2. khi nhấn vào create thì không xuất hiện trong bản


3.thêm trực tiếp từ sql

4… nó đã được thêm vào

5…code Control của hàm create
public ActionResult Createhanghoa()

    {
        return View();
    }
    [HttpPost, ActionName("Thêm hàng")]
    public ActionResult Createhanghoa([Bind(Include = "Mahanghoa, Tenhanghoa")]Hanghoa hanghoa)
    {
        try
        {
            if (ModelState.IsValid)
            {
                // thêm mới sách
                db.Hanghoas.Add(hanghoa);
                db.SaveChanges();
            }
        }

        catch (RetryLimitExceededException /*dex*/)
        {
            ModelState.AddModelError("", "Error seva Data");
        }
        //trả về trang xem sách với dnh sách mới
      

        var listhanghoa = from s in db.Hanghoas
                          select s;
        return View(listhanghoa);
    }

6… code view của create

@model QLHanghoa.Hanghoa

@{
    ViewBag.Title = "Createhanghoa";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Createhanghoa</h2>


@using (Html.BeginForm()) 
{
    @Html.AntiForgeryToken()
    
    <div class="form-horizontal">
        <h4>Hanghoa</h4>
        <hr />
        @Html.ValidationSummary(true)

        <div class="form-group">
            @Html.LabelFor(model => model.Tenhanghoa, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Tenhanghoa)
                @Html.ValidationMessageFor(model => model.Tenhanghoa)
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Create" class="btn btn-default" />
            </div>
        </div>
        
       
        
        </div>
    
  
}

<div>
    @Html.ActionLink("Back to List", "getlistanghoa")
</div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}
vũ xuân quân viết 03:12 ngày 01/10/2018

không code C# lâu rồi nên chỉ đưa lời khuyên. Do không có thời gian để chạy code
Em chạy debug xem biến hanghoa có giá trị không ?
Hàm Savechages chạy như thế nào ?
Thêm mới mà có luôn mã hàng hóa là hơi kỳ.
Ngoài hàm savechanges thì cũng có thể có hàm nào dùng để insert.

Chẵn viết 03:28 ngày 01/10/2018

Mình code cái này rồi mvc và dùng codefrist nhưng k hiểu lắm cái của bạn, vì mình code để thi qua môn nên cũng k nhớ rõ và đang onl dt nên k tìm dc. Nếu mai chưa ai giúp thig mình sẽ rep

Nhox Namby viết 03:25 ngày 01/10/2018

chạy debug là sao,thay savechan bằng insẻt thếthảm naò ,ah

Nhox Namby viết 03:20 ngày 01/10/2018

ok hjb mình mongchỉ bạn giúp

Linh Nham viết 03:15 ngày 01/10/2018

Có thể là trong CSDL bạn để trường mã hàng hóa là tự động sinh.
Nên lúc insert vào thì đối tượng hàng hóa để insert sẽ k có mà hàng hóa nữa mà chỉ có tên hàng hóa thôi.
Bạn thử bỏ đoạn [Bind(Include = “Mahanghoa, Tenhanghoa”)] đi xem

Nhox Namby viết 03:15 ngày 01/10/2018

đúng rồi mình để tự động tăng,

Reoteu Ray viết 03:25 ngày 01/10/2018

nếu mã hàng hóa tự động tăng thì lúc insert chỉ cần cung cấp tên thôi còn mã nó tự tạo mà…

Nhox Namby viết 03:26 ngày 01/10/2018

nhưng khi insert thì không thấy nó thêm vào cơ sở dl

Reoteu Ray viết 03:15 ngày 01/10/2018

vậy nó có throws ra exception hay không , hoặc tại chỗ insert thì cho nó return ra giá trị nào đó để kiểm tra việc insert đã thành công hay chưa rồi từ từ tính tiếp…

Nhox Namby viết 03:28 ngày 01/10/2018

bạn giúp với, kiểm tra code của mình đúng không

Bài liên quan
0