如何按ID更新数据?

时间:2014-03-17 11:11:57

标签: c# linq windows-phone-8

我的插入代码如下:

public void insertData(string TimeStart, string TimeEnd, string AppName)
{
    try
    {
        event newdb = new event
        {
            TimeStart = TimeStart,
            TimeEnd = TimeEnd,
            AppName = "",
        };
        db.listdata.InsertOnSubmit(newdb);
        db.SubmitChanges();
    }
    catch(Exception ex)
    {
        string str = ex.Message.ToString();
    }
}

它插入成功,但我不知道如何更新数据。

4 个答案:

答案 0 :(得分:2)

更新它你需要做的就是获取对象。更改一些值,然后调用类似

SubmitChanges()
var itemUpdate = db.listdata.FirstOrDefault(x => x.ID == ID);
if(itemUpdate != null)
{
    itemUpdate.AppName = "New name";
    // update other properties here

    db.SubmitChanges();
}

答案 1 :(得分:0)

希望您已将ID设置为主键,因为它需要主键并且这样做,

使用您的ID过滤现有数据,然后使用新值更新并调用SubmitChanges()

try
{
   var Query= db.listdata.FirstOrDefault(x => x.ID == ID);
   Query.TimeStart = "NewValue";
   Query.TimeEnd  = "NewValue";
   Query.AppName = "",
   db.SubmitChanges();
}
catch(Exception ex)
{
   string str = ex.Message.ToString();
}

答案 2 :(得分:0)

您应首先从数据库中获取要更新的对象。代码可能如下所示:

var eventToUpdate = from e in db.Events.
                    where e.ID == someId
                    select e;

或使用LinQ方法:

var eventToUpdate = db.Events.FirstOrDefault(e => e.ID == someId);

然后你可以更新属性(就像插入一样):

eventToUpdate.TimeStart = newTimeStart;
eventToUpdate.TimeEnd = newTimeEnd;
eventToUpdate.AppName = "";

最后提交更改:

db.SubmitChanges();

当然,您必须验证输入并检查是否存在具有给定ID的实例。通过检查数据库中的对象是否不是null来执行此操作:

if(eventToUpdate != null)
    //update the event

答案 3 :(得分:0)

var newObj = db.listdata.where(a => a.yourKey == key).FirstOrDefault();

//Here you have your data in newObj

//now you can manipulate it accordingly

//eg:
newObj.property="your value";

db.SubmitChanges();