-1

我想更新现有记录。我也调试了我的代码。int id 变量获取值,但我不知道为什么我的记录没有更新。

SQLDBDataClassesDataContext dContext = new SQLDBDataClassesDataContext();
protected void Page_Load(object sender, EventArgs e)
{
    //if (!IsPostBack)
    {
        if (!string.IsNullOrEmpty(Request.QueryString["fname"]))
        {
            FirstNameTextBox.Text = Request.QueryString["fname"];
        }
        if (!string.IsNullOrEmpty(Request.QueryString["lname"]))
        {
            LastNameTextBox.Text = Request.QueryString["lname"];
        }
        if (!string.IsNullOrEmpty(Request.QueryString["cellnum"]))
        {
            CellNumberTextBox.Text = Request.QueryString["cellnum"];
        }
    }
}

protected void UpdateButton_Click(object sender, EventArgs e)
{
    int id = Convert.ToInt32(Request.QueryString["id"]);
    var updatequery1 = dContext.PersonalDetailTables
        .Where(pd => pd.ID == id).SingleOrDefault();

    if (updatequery1 != null)
    {
        updatequery1.FirstName = FirstNameTextBox.Text;
        updatequery1.LastName = LastNameTextBox.Text;
        updatequery1.CellNumber = CellNumberTextBox.Text;
        dContext.SubmitChanges();
    }
}
4

4 回答 4

0

if (updatequery1 != null)

updatequery1 是空的吗?如果是现在,它会直接跳过。设置断点并单步执行。

或者,将 .SingleOrDefautl 更改为 .Single。这样,如果什么都没找到,你会得到一个异常,你就会知道发生了什么。

于 2012-08-28T11:17:18.993 回答
0

调用dContext.InsertOnSubmit(fooentity)前调用方法dContext.SubmitChanges();

例如。

 var ctx = DB.fooDB;
        fooobj.fooName= bar.fooName;
        fooobj.fooID= bar.fooID;
        if (fooobj.fooID== 0)
            ctx.Locations.InsertOnSubmit(bar);
        ctx.SubmitChanges();
于 2012-08-28T11:45:18.427 回答
0

我有我的解决方案.. 唯一的问题是 if(!ispostback) 问题。

于 2012-08-28T11:50:48.593 回答
-1
context.InvProductStockMasters
       .Update(ps => ps.LocationID.Equals(invStockAdjustmentHeader.LocationID) 
                  && ps.ProductID.Equals(invStockAdjustmentDetail.ProductID), 
               ps => new InvProductStockMaster 
                          { Stock = ps.Stock - invStockAdjustmentDetail.OrderQty });
于 2013-11-20T09:40:39.370 回答