PDA

View Full Version : سوال: مشکل در update اطلاعات با linq



rezarko
جمعه 25 اسفند 1391, 23:09 عصر
سلام. مشکل کد زیر چیه؟ نه ارور میده و نه اطلاعات رو آپدیت میکنه!
var set = (from d in odb._Settings select d).SingleOrDefault();
set.set_Addrress = txt_Adrress.Text;
set.set_CompanyID = txt_CodeCompany.Text;
set.set_EghtesadiID = txt_NemEghtesadi.Text;
set.set_Name = txt_Name.Text;
set.set_Phone = txt_Phone.Text;
set.set_PostID = txt_CodePost.Text;
set.set_ReportText = txt_ReportText.Text;
set.set_ShomareSabt = txt_NumRecord.Text;
if (checkBox1.Checked)
{
set.set_Reminded = true;
}
else
{
set.set_Reminded = false;
}
odb.SubmitChanges();

uniqueboy_ara
شنبه 26 اسفند 1391, 00:00 صبح
2تا نکته

1. جستجوی شما بر مبنای چیه؟ وقتی شما یه رکورد رو جستحو می کنید و میخواید آپدیتش کنید باید به وسیله Where نتیجه جستجو رو فیلتر کنید
2. واسه set_Reminded بهتره که اینجوری بنویسید:
set.set_Reminded = checkBox1.Checked;

rezarko
شنبه 26 اسفند 1391, 09:34 صبح
توی تیبل setting فقط یه رکورد ذخیره میشه و فیلتر نمیخواد. واسه آپدیت با linq حتما باید where رو تیو سلکت بنویسم؟

uniqueboy_ara
شنبه 26 اسفند 1391, 13:43 عصر
وقتی یه رکورد بیشتر نیست که دیگه فیلتر معنی نداره!!! میتونی از FirstOrDefault هم استفاده کنی
یه Break Point بزار رو خط دوم، ببین اصلا چیزی از دیتابیس خونده میشه؟ یا Null برمیگردونه؟!!!

Behnam6670
شنبه 26 اسفند 1391, 22:39 عصر
دستود اپدیت و اینجوری تست کن
var update=dbo.table1.singleOrDefult(c=>c.id==ID)

rezarko
شنبه 26 اسفند 1391, 22:47 عصر
ممنون دوستان. راستش عجله داشتم دیگه با ado.net نوشتم

ferankyy
شنبه 26 اسفند 1391, 23:40 عصر
حتما جدولت primary key نداره