im试图将某些数据插入我的数据库中,我通过教程进行了此操作,然后我尝试将其在第二个文件中重做第二个表中的第二个表中的第二个表中,我只是因为我的生活似乎无法弄清楚为什么它不起作用!我将从不同的CSHTML文件中发布代码!
另外,表格几乎是相同的,既有主密钥ID,然后均为3列都是nvarchar和所有事物的相同设置,只有区别是名称。
第一个文件(有效的文件)
@{
var getData = Database.Open("SmallBakery");
var Name = Request.Form["Name"];
var Description = Request.Form["Description"];
var Price = Request.Form["Price"];
if(IsPost && Validation.IsValid()){
if (ModelState.IsValid) {
var setData = "INSERT INTO Product (Name, Description, Price) " +
"VALUES (@0, @1, @2)";
getData.Execute(setData, Name, Description, Price);
Response.Redirect("~/ListProducts");
}
}
}
身体
<form method="post" action="">
<fieldset>
<legend>Add Product</legend>
<div>
<input placeholder="Name..." name="Name" type="text" size="50" value="@Name" />
</div>
<div>
<input placeholder="Description..." name="Description" type="text" size="50"
value="@Description" />
</div>
<div>
<input placeholder="Price..." name="Price" type="text" size="50" value="@Price" />
</div>
<div>
<label> </label>
<input type="submit" value="Insert" class="submit" />
</div>
</fieldset>
</form>
所以上面是有效的!以下是不起作用的,我一直在尝试几个小时来弄清为什么地球上没有的原因,并且真的很想帮助!
和错误的错误是为此行:
getData.Execute(insertData, kg, set, rep);
。
{@
var getData = Database.Open("SmallBakery");
var Kg = Request.Form["Kg"];
var Set = Request.Form["Set"];
var Rep = Request.Form["Rep"];
if (IsPost && Validation.IsValid()) {
if (ModelState.IsValid) {
var insertData = "INSERT INTO Test (kg, set, rep) " +
"VALUES (@0, @1, @2)";
getData.Execute(insertData, kg, set, rep);
}
}
}
身体
<form method="post" action="">
<fieldset>
<legend>Add Product</legend>
<div>
<input placeholder="KG..." name="Kg" type="text" size="50" value="@Kg" />
</div>
<div>
<input placeholder="Number of sets..." name="Set" type="text" size="50" value="@Set" />
</div>
<div>
<input placeholder="Number of reps..." name="Rep" type="text" size="50" value="@Rep" />
</div>
<div>
<label> </label>
<input type="submit" value="Insert" class="submit" />
</div>
</fieldset>
</form>
问题是Set
是SQL Server中的一个保留单词,以及许多其他数据库和语言,因此请尝试将表列重命名为其他内容,看看是否有效。