표시되는 모든 데이터 (데이터베이스의 열)를 사용자가 입력하고 입력 한 후 제출하도록합니다. 나는이 ID와 CompanyID를 얻음으로써 HTML.HiddenFor
요소 중 하나로 자동 생성된다.System.Data.SqlClient.SqlException : 제공된 값의 열 이름 또는 번호가 테이블 정의와 일치하지 않습니다.
System.Data.SqlClient.SqlException: Column name or number of supplied values does not match table definition..
모델 :
namespace Project.Models
{
public class Contact
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public int Phone { get; set; }
public int CompanyID { get; set; }
}
}
보기 :
@model Project.Contact
<h2>Create Contact</h2>
@using (Html.BeginForm("Create", "Home", FormMethod.Post))
{
<table>
<tr>
<th>First name</th>
<th>Last name</th>
<th>Email</th>
<th>Phone</th>
</tr>
<tr>
<td>@Html.HiddenFor(m => m.Id)</td>
<td></td>
<td>@Html.TextBoxFor(m => m.FirstName)</td>
<td>@Html.TextBoxFor(m => m.LastName)</td>
<td>@Html.TextBoxFor(m => m.Email)</td>
<td>@Html.TextBoxFor(m => m.Phone)</td>
<td>@Html.HiddenFor(m => m.CompanyID)</td>
</tr>
</table>
<br />
<input type="submit" name="btn" class="btn-primary" value="Create" />
}
컨트롤러 :
using Arbetsprov_Sublime___Andre_Kordasti.Models;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Web.Mvc;
namespace Arbetsprov_Sublime___Andre_Kordasti.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpGet]
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(Contact model)
{
var connection = new SqlConnection(@"Data Source=.\SQLExpress;Initial Catalog=Sublime;Integrated Security=True");
connection.Open();
var command = new SqlCommand("INSERT INTO Contact Values('" + model.Id + "','" + model.FirstName + " " + model.LastName + "','" + model.Email + " " + model.Phone + "','" + model.CompanyID + "')", connection);
command.ExecuteNonQuery();
return View();
}
}
}
"INSERT INTO 연락처"는 "연락처 *에서 선택"이어야합니다. –
그래,하지만 도움이되지 않습니다. 연락처 목록 만 가져옵니다. 새 연락처를 만들고 싶습니다. – Malphai
현재 데이터베이스에서 정보를 가져 와서 개체에 채 웁니다. 당신은 1) 귀하의 연락처 개체를 엔티티 프레임 워크에 매핑하거나 2) "연락처 (열 이름) values ()"유형의 쿼리를 생성하고 해당 쿼리를 실행해야합니다. –