データベースにデータを追加する際に問題が発生しました。私は本、ユーザー、借りのためのテーブルを持っています。だから、ユーザーがアプリケーションにログインしてブックを選択すると、私は新しいデータを追加してテーブルを借りたいと思う。asp.net mvcプログラムでデータベースにデータを追加する
public ActionResult AddIt([Bind(Include = "BorrowId,BorrowDate,GiveBackDate,BookId,UserId")] Borrows br))
{
br.BorrowDate = DateTime.Now;
br.BookId = int.Parse(Session["BookId"].ToString());
br.UserId = int.Parse(Session["UserId"].ToString());
if (ModelState.IsValid)
{
db.borrows.Add(br);
db.SaveChanges();
return RedirectToAction("Index");
}
return RedirectToAction("Index");
}
は、ユーザーIDとBookIdは動作しますが、このメソッドを呼び出している間何か問題がある行き方:私は、この(私が選んだ本を上クリックし、このメソッドを呼び出す)のようなものであるべきと思いました。 「リソースが見つかりません」というエラーが表示されます。だから、どうやってその方法を見なければならないだろうかGiveBackDateはNullableで、レコードを作成するときにnullにします。
編集:私はプロジェクトを再構築し、そのエラーは無効になりました..しかし、コードはまだ正しく動作しません。 aspのようなものはBorrowIdsを数えていないようです。データベースが空の場合、レコードを1つ保存できます。しかし、1レコードが保存されると、次のレコードはid 0になり、エラーが発生します。
PRIMARY KEY制約 'PK_BORROWS'の違反。オブジェクト 'dbo.Borrows'に重複キーを挿入できません。重複キー値は(0)です。 ステートメントが終了しました。
84:{
85:84行で
エラーdb.Borrows.Add(BR)。
86:db.SaveChanges();
87:return RedirectToAction( "Index"); 88:}
私はBookControllerで、ここADDITを呼び出す:
public ActionResult borrow(int id)
{
return RedirectToAction("AddIt", "Borrows");
}
質問にエラーを追加する必要があります。 ToStringを呼び出して[編集] – Will
に貼り付けてください。実際にどの行が例外を引き起こしていますか? – pay
HTTP 404は通常、ルーティングに問題があることを意味します。 HTTP 500は、コードが実行されているが、ある時点でエラーがスローされたときの標準です。 – nurdyguy