PDA

View Full Version : مشکل در ارتباط با بانک به کمک LINQ



majidrezaei2007
دوشنبه 09 اسفند 1389, 00:52 صبح
سلام دوستان عزیز
من یک بانک دارم که توش یک تیبل هست . به کمک LINQ می خوام یک سطر رو توش insert کنم . به نظر میاد که کار درست انجام میشه و خطایی نمیده ، اما اطلاعات رو توی بانک ثبت نمی کنه . به عبارتی اون سطر تو بانک قابل مشاهده نیست . جالب اینجاست که وقتی 2 بار یک سطر رو اضافه می کنم خطا میده که این سطر قبلا اضافه شده (به دلیل داشتن فیلد کلید)

کدی که من نوشتم اینه .

testDataContext bank = new testDataContext();
tbl tb = new tbl();
tb.id_ = 12;
tb.nam = "majid";
bank.tbls.InsertOnSubmit(tb);
bank.SubmitChanges();


ضمنا خصیصه Inheritance Modified مربوط به جدول مورد نظر در کلاس LINQ to SQL رو هم Sealed کردم.
همه چی درسته ولی ....

لطفا کمکم کنید . ممنون

jalalx
دوشنبه 09 اسفند 1389, 09:55 صبح
به! سلام داشی مجید گل!
کدی که گذاشتی کافی نیست. از چه روشی برای ایجاد کلاس tbl استفاده کردی؟
در ضمن، یه درخواست، اون تابع آخری رو اینطوری فراخوانی کن. شاید خطا بده و متوجه بشی چه خبره:



.SubmitChanges(ConflictMode.FailOnFirstConflict);

rexi1r
دوشنبه 09 اسفند 1389, 15:30 عصر
سلام دوست من من خودم تو linq حرفه ای نیستم ولی تا اونجایی که من میدونم اون تغییراتی که با linq تو جدولت میدیو تو visual studio نمیشه دید حالا اگه بری و exe برنامه تو اجرا کنی اگه یه data gridview تو فرمت باشه میبینی که اطلاعاتت هستن و همه وارد شدن ولی داخل visual studio نشونشون نمی داد و البته نمی دونم چطور باید این ایراد رو برطرف کرد فقط مشکل اینجاست که داخل visual studio نمیتونی ببینیشون .

majidrezaei2007
پنج شنبه 12 اسفند 1389, 08:46 صبح
نه ، آخه با بسته شدن برنامه کل داده ها از بین میرن و با اجرای مجدد میشه اون داده قبلی که اضافه نمیشد رو اضافه کرد

jaykob
پنج شنبه 12 اسفند 1389, 08:52 صبح
سلام به این شکل در LINQ عمل Insert را می شه انجام و مشکلی هم نیست :


DataClassesDataContext db = new DataClassesDataContext();
db.tbl_contacts.InsertOnSubmit(new tbl_contact
{
contact_name = txtContactName.Text,
contact_family = txtContactFamily.Text,
contact_mail = txtContactMail.Text,
contact_message = txtContactMessage.Text
});
db.SubmitChanges();