3

我有两个表单字段,用户可以从中提交一个“类别”和一个“项目”。

以下代码可以很好地插入类别(我从 WebMatrix 介绍 PDF 中对其进行了修改),但我不知道如何将“项目”插入到项目表中。我还需要将新类别的 ID 添加到新项目行。

这是到目前为止工作的代码

@{ var db = Database.OpenFile("StarterSite.sdf");
var Category = Request["Category"]; //was name
var Item = Request["Item"]; //was description
if (IsPost) {
// Read product name.
Category = Request["Category"];
if (Category.IsEmpty()) {
Validation.AddFieldError("Category", "Category is required");
}
// Read product description.
Item = Request["Item"];
if (Item.IsEmpty()) {
Validation.AddFieldError("Item",
"Item type is required.");
}
// Define the insert query. The values to assign to the
// columns in the Products table are defined as parameters
// with the VALUES keyword.
if(Validation.Success) {
var insertQuery = "INSERT INTO Category (CategoryName) " +
"VALUES (@0)";
db.Execute(insertQuery, Category);
// Display the page that lists products.
Response.Redirect(@Href("~/success"));
}
}
}

我猜测/希望这是一个非常容易回答的问题,所以希望不需要更多细节 - 但如果有,请告诉我。谢谢。

4

1 回答 1

4

WebMatrix 中有一个 Database.GetLastInsertId 方法,它返回最后插入的记录的 id(假设它是您正在使用的 IDENTITY 列)。使用它:

db.Execute(insertQuery, Category);
var id = (int)db.GetLastInsertId(); //id is the new CategoryId
db.Execute(secondInsertQuery, param1, id);
于 2010-08-16T22:22:38.750 回答