SQL INSERT,麻烦

时间:2016-11-27 18:16:20

标签: sql

我试图在Webmatrix中向我的数据库插入一些数据,我是通过教程完成的,然后我尝试将第二个文件重做到同一个数据库中的第二个表,我只是因为我的生活似乎无法想象为什么它不起作用!我将发布不同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>&nbsp;</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>&nbsp;</label>
           <input type="submit" value="Insert" class="submit" />
         </div>
       </fieldset>
    </form>

1 个答案:

答案 0 :(得分:2)

问题是Setreserved word in SQL Server以及许多其他数据库和语言,因此请尝试将表列重命名为其他内容,看看是否有效。