sql
  • asp.net-mvc
  • asp.net-mvc-4
  • actionresult
  • 2014-11-15 24 views 0 likes 
    0

    我在視圖中有一個「提交此批」按鈕,其中樣本被輸入到預定批次中。上點擊使用ActionResult MVC更新ReceivedDate列按鈕單擊

    ,我願做2次更新:

    1 - 更新與批次ID =會議[ 「BatchID」]的所有記錄到今天的日期。 (只有一個字段需要更新,但在多行中)

    2 - 在批次表中將批次狀態更新爲「C」(關閉)。

    肯定我做這從一個ActionResult這樣的事情,我知道我不會有問題:

    <button onclick="location.href='@Url.Action("<ActionResultName>", "ControllerName")';return false;">Commit This Batch</button> 
    

    在我的ActionResult我完全一片空白。這是在Management Studio中的查詢窗口SQL,我想用盡可能少的代碼,模仿地:

    UPDATE dbo.BactiBatches SET BatchStatus= 'C' 
    WHERE BactiBatchID= <SessionValue> 
    
    UPDATE dbo.BactiBucket SET ReceivedDate = GetDate() 
    WHERE BactiBatchID= <SessionValue> 
    

    我使用EF和MVC4。

    +0

    到底在找什麼?你腦海中流暢嗎? 你在尋找EF查詢還是控制器級別的代碼? 如果你已經在你的控制器中做了任何事情,請將它張貼在這裏 –

    +0

    我假設我會同時使用Linq在Controller ActionResult中進行更新,因爲它顯示在我的按鈕單擊示例中。一個表將「O」更改爲「C」,其他表將null更改爲今天的datetime值。 第一個表名是「BactiBatches」。第二個表名是BactiBucket。在操作結束時,更新用戶的操作返回到調用頁面。沒有額外的意見。 – JustJohn

    +0

    這真的很簡單,不知道如何問這樣一個簡單的問題。 我再試一次: MVC 4,實體框架,需要更新2個不同表中的列值。 – JustJohn

    回答

    0

    好吧,不知道如何讓我的問題更簡單。但是我發現這個答案,瞧!作品。 https://stackoverflow.com/a/8566906/564810

    所以下面是我的HomeController中的代碼,當被調用時確實是我想要的。無需其他任何東西。當然,控制器做了很多其他的CRUD所以EF聲明是在頂部:

    public class HomeController : Controller {

    DWS_Entities _db; 
    
    
        public HomeController() 
        { 
    
         _db = new DWS_Entities(); 
    
        } 
    
    public ActionResult CommitThisBatch() 
    { 
        _db.ExecuteStoreCommand("UPDATE dbo.BactiBatches SET BatchStatus = 'C' WHERE BactiBatchID= " + Session["ThisBatch"]); 
    
    
        _db.ExecuteStoreCommand("UPDATE dbo.BactiBucket SET RecvDate = GetDate() WHERE Batch_ID= " + Session["ThisBatch"]); 
    
        return RedirectToAction("AddColiform"); 
    
    } 
    
    相關問題