PDA

View Full Version : نحوه اضافه کردن آیتم جدید توسط linq



setareh2013
پنج شنبه 30 شهریور 1391, 14:12 عصر
باسلام
من برای درج توسط لینک در سی شارپ از کد زیر استفاده کردم
DcDataContext dc = new DcDataContext();
dc.UserTBs.InsertOnSubmit(new UserTB(uname = txtuser.Text));
dc.SubmitChanges();
ولی پیام خطا میده که uname رو نمی شناسه . باید چه کار کنم
با تشکر

mdt414
پنج شنبه 30 شهریور 1391, 16:51 عصر
از این روش استفاده کن :


dc.UserTBs.addObject(new UserTB(){uname = txtuser.Text});

hamid_kha
پنج شنبه 30 شهریور 1391, 17:47 عصر
سلام
شما باید به این صورت کد بزنید:


Context.AddObject(new Users()
{
RoleID = Convert.ToInt32(ddlRoles.SelectedValue),
Username = txtUsername.Text,
Password = txtPassword.Text,
Phone = txtPhone.Text,
Email = txtEmail.Text
});
Context.SaveChanges();

setareh2013
شنبه 01 مهر 1391, 07:58 صبح
برنامه من addObject رو نمیشناسه

setareh2013
دوشنبه 03 مهر 1391, 22:48 عصر
چه کار کنم درست نشد

setareh2013
جمعه 11 اسفند 1391, 15:28 عصر
name space خاصی نیاز داره تا این گزینه ها رو بشناسه ؟

morteza_mokhtari
جمعه 11 اسفند 1391, 22:47 عصر
IranEvent iran = new IranEvent();
iran.Body = Editor.Content;
iran.EventName = TextBox_Title.Text;
iran.EventDate = Convert.ToDateTime(TextBox1.Text + "12:00:00 ب.ظ").Date;
database.IranEvents.InsertOnSubmit(iran);
database.SubmitChanges();


iran event نام table هست که تویه سایت استفاده کردم

setareh2013
شنبه 12 اسفند 1391, 08:54 صبح
من دستورات زیر رو نوشتم مشکلی نداشت .
mylinqDataContext db = new mylinqDataContext();

UserTB ut = new UserTB();
ut.uid = Convert.ToInt32(textBox1.Text);
ut.uname = textBox2.Text;
db.UserTBs.InsertOnSubmit(ut);
db.SubmitChanges();
ولی وقتی uid رو کلید اصلی تعریف می کنم و گزینه Is Identity رو yes می کنم تا خودکار اضافه شود ، نمی دونم چه طوری کدش رو بنویسم .
من خط سوم کد رو حذف کردم ولی خطا داد .

morteza_mokhtari
شنبه 12 اسفند 1391, 21:53 عصر
دوست عزیز شما uid رو دیگه نباید بنویسید حذفش کنید و خطا هم نباید بده اگه خطا داد متن خطا رو بذارید ببنیم مشکل از کجاست.

setareh2013
یک شنبه 13 اسفند 1391, 01:26 صبح
Cannot insert explicit value for identity column in table 'UserTB' when IDENTITY_INSERT is set to OFF.
این هم خطا هنگام حذف خط سوم.

mariakhanom
یک شنبه 13 اسفند 1391, 12:06 عصر
شما بایدبعد از اعمال هر تفییر توی جدول و سیو کردن ان باید برید توی فایل dbml و اون جدول رو حذف کنید دوباره اون جدولو از server explorer درگ کنید توی
dbml
تا تغییرات توی dbml هم ذخیره بشه.
یعنی بعد از اینکه فیلدتو Is Identity کردی و کلید اصلی قرارش دادی سیوش کن برو توی dbml اون جدولو حذف کن دوباره درگش کن توی dbml
اینکارو کنی مشکلت حل میشه

setareh2013
چهارشنبه 16 اسفند 1391, 00:47 صبح
مشکل درج کردن حل شد . در مورد ویرایش

من کد زیر رو نوشتم . ولی ارور میده :
Error 1 Operator '==' cannot be applied to operands of type 'int' and 'string' C:\Users\Parnian\Documents\Visual Studio 2010\Projects\MylinqProject\MylinqProject\Form1.cs 42 44 MylinqProject
کد :
mylinqDataContext db = newmylinqDataContext();
UserTB ut = newUserTB();
ut.uid = db.UserTBs.First(p => p.uid == textBox1.Text);
...
اینطوری هم که می نویسم ارور میده
ut.uid = db.UserTBs.First(p => p.uid ==Convert.ToInt32( textBox1.Text));
اگه راهنماییم کنید ممنون میشم.

mariakhanom
جمعه 18 اسفند 1391, 16:48 عصر
شرطتو اینطور بنویس ببین مشکلت حل نمیشه



{

جدول_خبر


temp= (from news in ObjDb.جدول_خبرs



where news.id == Convert .ToInt32(textbox1.Text)



select news).Single();