سلام دوستان جداول داخل sql server ساختم و در سی شارپ در پروژه دارم از جداولم استفاده میکنم ولی در پروژه میخوام اطلاعات جدید در جداول اضافه کنم . اضافه نمیشه خطا میده
دقیقا در قسمت savechanges خطا میده
خطایی که میده اینه:
unable to update the entityset "userlogin" becaseit has e definingquery and no<insertfunction> element exists in the <modification function mapping> element to support the current operation.
و این ک من دارم تازه آموزش میبینم لطفا یکمی به زبان ساده تر بگین مشکل این چیه که متوجه بشم .
خیلی ممنونم ازتون
با سلام. دوست عزیز خوب می شد کدهایی که نوشتید رو قرار می دادید تا بهتر بشه نظر داد یا حداقل متن خطا رو میذاشتید. ولی به هر حال این مشکلی که شما میگید دلایل متفاوتی میتونه داشته باشه. حالا چند موردش رو میگم امیدوارم مشکل برطرف بشه. احتمالا جوری که من متوجه شدم دارید از مدل در پروژه تون استفاده میکنید. و چون خطا در قسمت SaveChange هستش پس مربوط به دیتابیس و داده ها میشه. اول یکبار تمام تیبل ها و ویوهای داخل مدل رو حذف کنید و دوباره اضافه کنید اگر مشکل برطرف نشد روش های زیر رو هم تست کنید.
1- اگر ID تیبل شما از نوع Identity نیست مطمئن بشید که داخل پروژه دارید این آی دی رو به صورت غیر تکراری پاس میدید. یا برعکس اگر از نوع Identity هست مطمئن بشید که داخل پروژه دیگه مقدار دهی نشه.
2- به Allow Nulls فیلدها در دیتابیس دقت کنید اگر این تیک نخورده باشد باید حتما در مدل هم مقداردهی بشه و مقدار به دیتابیس ارسال بشه.
3 - به Data Type ستون ها در دیتابیس دقت کنید. مثلا اگر یه فیلد رو از نوع varchar(50 قرار دادید در پروژه نباید تعداد کاراکترهای ارسالی بیشتر از 50 باشد. میتوانید این خاصیت رو در MaxLength تکست باکس کنترل کنید.
4 - موارد دیگه ای هم میتونه باشه که العان حضور ذهن ندارم ولی این سه مورد مهمترین اونها هستند.
اطلاعاتی که شما دادید تقریبا هیچ کمکی نمیشه کرد. لطفا سوال رو ویرایش کنید و کدهاتون رو قرار بدید
سلام. دوست عزیز به نظر میرسه شما insert رو روی ویو زدید. ویوها حالت Insert ندارند.
بله روی ویو زدم ولی حالت insert نداره یعنی چی باید چیکار کنم؟
با سلام
دوست گرامي براي اينکه ساير برنامه نويسان بتونن به سوالات شما پاسخ صحيح و روشني بدن شما بايد سوال خودتون رو کامل توضيح بديد.
شما بايستي کدهايي که توي پروژه استفاده کرديد رو قرار بديد
از خطاهاي خودتون يا عکس قرار بديد يا متن خطا رو قرار بديد
توضيحات شما تقريبا ناقص هست و تمامي پاسخ هايي که سايرين ميدن همه با اما و اگر هست و نميشه پاسخ دقيقي به سوال شما داد. ضمنا از ارسال سوال تکراري پرهيز کنيد و در صورت نياز سوال رو ويرايش کنيد
موفق باشيد
یعنی اینکه بجای نام ویو نام تیبل اون ویو رو بنویس. بالاخره شما ویو رو از روی یه تیبل ساختی دیگه. اسم اون تیبل رو بنویس.
System.Data.Entity.Validation.DbEntityValidationException: 'Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.'
اطلاعات دارم از طريق فرم وارد جدولم ميکنم ولي اصلا سيو نميشه
اينم کد هاي دستورم
userlogin userlog = new userlogin();
userlog.computername = computername;
userlog.ipaddress = ip;
userlog.userid = publicClass.gusername;
userlog.enterdate =String.Format("{0:yyyy:mm:dd}", Convert.ToDateTime(chalender.Text) + "-" + DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second );
detabase.userlogins.Add(userlog);
detabase.SaveChanges();
سلام
همونطوری که در بخشی از متن خطای شما نوشته "See 'EntityValidationErrors' property for more details"
وقتی خطا به شما میده یک گزینه ای توی صفحه خطا وجود داره به نام View Details که شما باید روش کلیک کنید و داخل فرمی که باز میشه گزینه inner Exception رو ببینید تا دلیل خطا مشخص باشه.
ولی طبق گفته خطا شما وقتی دارید مقادیر کلاس userLogin رو مقداردهی می کنید یکی از فیلدها رو دارید اشتباه مقداردهی می کنید. که من احتمال میدم کد زیر باشه
userlog.enterdate =String.Format("{0:yyyy:mm:dd}", Convert.ToDateTime(chalender.Text) + "-" + DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second );
دقت کنید که فیلد enterdate رو شما دارید احتمالا اشتباه مقداردهی می کنید. فکر میکنم به جای chalender.Text باید chalender.Value.year و ... باشه.
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1161
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
599
- پاسخ :
1
|
تاریخ :
1403/07/13
- ساعت :
12:06:00 PM
- بازدید :
350
- پاسخ :
1
|
تاریخ :
1403/06/24
- ساعت :
08:52:00 PM
- بازدید :
319
- پاسخ :
1
|
تاریخ :
1398/09/14
- ساعت :
01:58:00 PM
- بازدید :
4271
- پاسخ :
1
|
تاریخ :
1403/05/16
- ساعت :
05:43:00 AM
- بازدید :
662
- پاسخ :
0
|
تاریخ :
1398/09/05
- ساعت :
06:04:00 PM
- بازدید :
3174
- پاسخ :
2
|
تاریخ :
1398/09/08
- ساعت :
11:38:00 PM
- بازدید :
3251
- پاسخ :
1
|
تاریخ :
1403/04/12
- ساعت :
07:27:00 PM
- بازدید :
658
- پاسخ :
0
|
تاریخ :
1403/01/29
- ساعت :
08:08:00 AM
- بازدید :
688
- پاسخ :
4
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2013
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
80
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
115
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
433
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
931
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1357
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1161
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
599
- پاسخ :
1
|