无法使用linq2sql从文本更新表

时间:2012-01-31 16:20:33

标签: c# winforms linq-to-sql c#-4.0

使用linq2sql我试图获取txtOilChange中的字符串并更新白色融合的oilChange表中的car整数。

我知道下面的代码是错的,但我需要更改什么?

using (DataClasses1DataContext db = new DataClasses1DataContext())
{
var o = (from c in db.cars
where c.carDesc == "White Fusion"
select c).First();

txtOilChange.Text = o.oilChange.ToString();

db.SubmitChanges();
}

1 个答案:

答案 0 :(得分:4)

如果您正在尝试更新记录,则看起来反转赋值语句。

此:

txtOilChange.Text = o.oilChange.ToString();

应该是:

o.oilChange = int.Parse(txtOilChange.Text);

为了更好地处理错误,请考虑使用TryParse method

int oilChangeValue;
if (int.TryParse(txtOilChange.Text, out oilChangeValue))
{
    o.oilChange = oilChangeValue;
    db.SubmitChanges();
} 
else
{
    // invalid value
}