PDA

View Full Version : سوال: مشکل در ذخیره نشدن اطلاعات در linq



hamid_0341
سه شنبه 25 تیر 1392, 12:01 عصر
با سلام
من هرچی برنامه با LinQ مینویسم اگه دیتابیسم LOCAL باشه ذخیره نمیشه نه میشه اطلاعات ذخیره کرد نه ویرایش
البته وقتی پابلیش میکنم برنامه رو یا فایل ستاپ میسازم کار میکنه:متفکر:
ویژوال استدیو عوض کردم - ویندوز عوض کردم - دیتا بیس
ولی هر کار میکنم هر پروژه ای که میخوام دیباگ کنم روی دیتابیس ذخیره نمیشه :گریه::گریه:
لطفا کمک کنید

khokhan
سه شنبه 25 تیر 1392, 12:07 عصر
با سلام
من هرچی برنامه با LinQ مینویسم اگه دیتابیسم LOCAL باشه ذخیره نمیشه نه میشه اطلاعات ذخیره کرد نه ویرایش
البته وقتی پابلیش میکنم برنامه رو یا فایل ستاپ میسازم کار میکنه:متفکر:
ویژوال استدیو عوض کردم - ویندوز عوض کردم - دیتا بیس
ولی هر کار میکنم هر پروژه ای که میخوام دیباگ کنم روی دیتابیس ذخیره نمیشه :گریه::گریه:
لطفا کمک کنید

به احتمال زید مشکل شما هم شبیه این مورد بایستی باشه :لبخند: این لینک (http://barnamenevis.org/showthread.php?408832-%D8%AE%D8%A7%D9%84%DB%8C-%D8%B4%D8%AF%D9%86-%D8%A8%D8%A7%D9%86%DA%A9-sql-%D9%BE%D8%B3-%D8%A7%D8%B2-%D9%87%D8%B1-%D8%A8%D8%A7-%D9%88%D8%B1%D9%88%D8%AF-%D8%A8%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87) رو ببین

hamid_0341
سه شنبه 25 تیر 1392, 12:16 عصر
باید دیتا بیسم روی copy if newer باشه؟

hamid_0341
سه شنبه 25 تیر 1392, 12:28 عصر
من دیتا بیسم رو روی Copy if newer هم گزاشتم بازم حل نشد
توی یک پروژه دیگه هم تست کردم بازم حل نشه :عصبانی++::گریه:
چکار کنم ؟ :ناراحت:

Y_Safaiee
سه شنبه 25 تیر 1392, 12:28 عصر
با سلام
من هرچی برنامه با LinQ مینویسم اگه دیتابیسم LOCAL باشه ذخیره نمیشه نه میشه اطلاعات ذخیره کرد نه ویرایش
البته وقتی پابلیش میکنم برنامه رو یا فایل ستاپ میسازم کار میکنه:متفکر:
ویژوال استدیو عوض کردم - ویندوز عوض کردم - دیتا بیس
ولی هر کار میکنم هر پروژه ای که میخوام دیباگ کنم روی دیتابیس ذخیره نمیشه :گریه::گریه:
لطفا کمک کنید

سلام دوست عزیز
1.گزیه نکن
2.کلا ذخیره نمیشه و ارور میده یا ذخیره میشه اما وقتی دوباره اجرا میکنی پاک میشه؟
کدوم یکی؟

hamid_0341
سه شنبه 25 تیر 1392, 12:34 عصر
نه ارور میده نه چیزی وقتی پابلیش هم میکنم درست کار میکنه
فقط وقتی که دیباگ میگیرم کل اطلاعاتی که وارد کردم پاک میشه
البته اگه دستی توی دیتا بیس وارد کنم مشکلی پیش نمیاد فقط موقع دیباگ :لبخندساده:

hamid_0341
سه شنبه 25 تیر 1392, 12:45 عصر
لطفا راهنمایی کنید
خیلی گیرم :اشتباه:

Y_Safaiee
سه شنبه 25 تیر 1392, 12:52 عصر
نه ارور میده نه چیزی وقتی پابلیش هم میکنم درست کار میکنه
فقط وقتی که دیباگ میگیرم کل اطلاعاتی که وارد کردم پاک میشه
البته اگه دستی توی دیتا بیس وارد کنم مشکلی پیش نمیاد فقط موقع دیباگ :لبخندساده:

نیگا 3 حال داره
*یا دیتابیس رو CopyAlways کردی
*اگه کلا اطلاعات ذخیره,ویرایش نمیشه و وقتی که دیتابیس کنار فایله Exe رو باز میکنی اطلاعات ذخیره نشده شاید یادت رفته Linq رو sealed کنی.منظورم شکل زیره :
http://s4.picofile.com/file/7848303010/Linq.jpg
*اگه اطلاعات ذخیره نمیشه و CopyAlways هم نیست دیتابیست مشکل از کدهاییه که نوشتی

البته بهتره خود دیتاکلاس لینکو رو هم sealed کنی :
http://s3.picofile.com/file/7848320535/linq2.jpg

موفق باشی
بایت بایت

hamid_0341
سه شنبه 25 تیر 1392, 13:00 عصر
نیگا 3 حال داره
*یا دیتابیس رو CopyAlways کردی
*اگه کلا اطلاعات ذخیره,ویرایش نمیشه و وقتی که دیتابیس کنار فایله Exe رو باز میکنی اطلاعات ذخیره نشده شاید یادت رفته Linq رو sealed کنی.منظورم شکل زیره :
http://s4.picofile.com/file/7848303010/Linq.jpg
*اگه اطلاعات ذخیره نمیشه و CopyAlways هم نیست دیتابیست مشکل از کدهاییه که نوشتی

البته بهتره خود دیتاکلاس لینکو رو هم sealed کنی :
http://s3.picofile.com/file/7848320535/linq2.jpg

موفق باشی
بایت بایت

امکانش هست مشکل از ویژوال باشه؟

khokhan
سه شنبه 25 تیر 1392, 13:07 عصر
امکانش هست مشکل از ویژوال باشه؟
عزیز می شه این دستور insert خودتونو بگذاری ببینیم
یا نمونه از پروژه دارای ایرادتونو بگذارین ؟؟؟؟

hamid_0341
سه شنبه 25 تیر 1392, 13:13 عصر
عزیز می شه این دستور insert خودتونو بگذاری ببینیم
یا نمونه از پروژه دارای ایرادتونو بگذارین ؟؟؟؟

این کد روی یک دیتا بیس که network هست گزاشتم کامل درست کار میکنه

DataClasses1DataContext db = new DataClasses1DataContext();
Anbar_Kala tbl = new Anbar_Kala();
tbl.Name = textBox1.Text.ToString();
tbl.Code = textBox2.Text.ToString();
tbl.Vahed_Number = this.comboBox1.Text.ToString();
tbl.Anbar_Group = label9.Text;
tbl.Buy_Price = Convert.ToInt32(num1);
tbl.Sell_Price = Convert.ToInt32(num2);
publicClass.shamsiDate();
tbl.Date = DateTime.Now.Date;
db.Anbar_Kalas.InsertOnSubmit(tbl);
db.SubmitChanges();


این کد توی local databasam کار نمیکنه
DataClasses1DataContext db = new DataClasses1DataContext();

Table1 tbl = new Table1();
tbl.name = textBox1.Text;
db.Table1s.InsertOnSubmit(tbl);
db.SubmitChanges();

khokhan
سه شنبه 25 تیر 1392, 13:20 عصر
این کد توی local databasam کار نمیکنه
DataClasses1DataContext db = new DataClasses1DataContext();

Table1 tbl = new Table1();
tbl.name = textBox1.Text;
db.Table1s.InsertOnSubmit(tbl);
db.SubmitChanges();[/QUOTE]

دستوراتتون داخل try, catchهستش ؟؟؟

hamid_0341
سه شنبه 25 تیر 1392, 13:25 عصر
این کد توی local databasam کار نمیکنه
DataClasses1DataContext db = new DataClasses1DataContext();

Table1 tbl = new Table1();
tbl.name = textBox1.Text;
db.Table1s.InsertOnSubmit(tbl);
db.SubmitChanges();

دستوراتتون داخل try, catchهستش ؟؟؟[/QUOTE]

بله هستش ارور نداره
و وقتی که پابلیش میکنم درست کار میکنه
ولی وقتی دیباگ میگیرم اطلاعات در دیتابیس ذخیره میشن ولی وقتی برنامه رو میبندم همه اطلاعات پاک میشن

khokhan
سه شنبه 25 تیر 1392, 13:27 عصر
بله هستش ارور نداره
و وقتی که پابلیش میکنم درست کار میکنه
ولی وقتی دیباگ میگیرم اطلاعات در دیتابیس ذخیره میشن ولی وقتی برنامه رو میبندم همه اطلاعات پاک میشنیه بار هم او ن دیتابیس داخل solution رو پاکش کن بعد یه کپی از بانک رو بگذار توی یه پوشه دیگه و از اونجا به پروژه ربطش بده

hamid_0341
سه شنبه 25 تیر 1392, 14:33 عصر
یه بار هم او ن دیتابیس داخل solution رو پاکش کن بعد یه کپی از بانک رو بگذار توی یه پوشه دیگه و از اونجا به پروژه ربطش بده
اقا این کارم کردم نشد
ببخشید میشه یه برنامه که دیتا بیس داشته باشه و با linq باشه برا من بفرستی من تنظیماتمو با اون set کنم :قلب::خجالت:

khokhan
سه شنبه 25 تیر 1392, 15:31 عصر
اقا این کارم کردم نشد
ببخشید میشه یه برنامه که دیتا بیس داشته باشه و با linq باشه برا من بفرستی من تنظیماتمو با اون set کنم :قلب::خجالت:

فکر می کنم فایل دیتابیس همراشون باشه اگه نبود بگو :لبخند::چشمک:

alias136790
سه شنبه 25 تیر 1392, 16:54 عصر
اگه هنگام کار با دیتابیس ، دیتابیس ReadOnly باشه،
اجازه ثبت، ویرایش اطلاعات رو نمیده.
با استفاده از برنامه Sql Server Management ببین دیتابیست ReadOnly هست یا Read&Write ؟

hamid_0341
چهارشنبه 26 تیر 1392, 12:09 عصر
فکر می کنم فایل دیتابیس همراشون باشه اگه نبود بگو :لبخند::چشمک:
:متعجب: اقا من روی این LINQ2 شما هم که سیو میکنم بازم توی دیباگ وقتی برنامه بسته میشه از شما هم پاک میشه :عصبانی++:

hamid_0341
چهارشنبه 26 تیر 1392, 17:15 عصر
ممکنه مشکل از ویژوال استدیو باشه ؟
لطفا راهنمایی کنید

hamid_0341
شنبه 29 تیر 1392, 10:50 صبح
هر کاری میکنم ویرایش و ذخیره نمیشه
میشه کسی که ویژوالش مشکلی نداره برای من فایل setting شو بزاره من Import کنم شاید درست شه :عصبانی++:

Mahmoud.Afrad
شنبه 29 تیر 1392, 11:11 صبح
مربوط به کپی شدن دیتابیس اصلی در پوشه دیباگ هست. هیچ مشکلی نیست.

hamid_0341
شنبه 29 تیر 1392, 11:16 صبح
مربوط به کپی شدن دیتابیس اصلی در پوشه دیباگ هست. هیچ مشکلی نیست.
سلام
الان من چکار کنم ؟

hamid_0341
شنبه 29 تیر 1392, 11:20 صبح
مشکل از Linq نیست با sql هم که میرم هیچ عملیاتی انجام نمیشه :|

Mahmoud.Afrad
شنبه 29 تیر 1392, 11:31 صبح
مشکل چیه؟ این حالت فقط در دیباگ بوجود میاد و بعد از خروجی گرفتن از برنامه مشکلی نخواهید داشت.

hamid_0341
شنبه 29 تیر 1392, 11:38 صبح
مشکل چیه؟ این حالت فقط در دیباگ بوجود میاد و بعد از خروجی گرفتن از برنامه مشکلی نخواهید داشت.
بله همین مشکلو دارم

Mahmoud.Afrad
شنبه 29 تیر 1392, 11:43 صبح
اگر نمیخواهید اطلاعات رو به فایلهای اصلی دیتابیس وارد کنید ، گزینه کپی دیتابیس را روی Do not copy بزارید. البته اگر تغییری در دیتابیس ایجاد کردید پروژه رو rebuild کنید.


اگر هم میخواهید اطلاعات در فایل های اصلی دیتابیس باقی بمونه
دو تا راه دارید
یکی اینکه از پنجره server explorer و از دیتابیس روی نام تیبل راست کلیک کرده و Show table data رو انتخاب کنید. در پنجره باز شده میتونید اطلاعات مورد نظر رو در دیتابیس اصلی ذخیره کنید.
راه دیگه هم اینه که یک بار پروژه رو دیباگ کنید و اطلاعات رو ذخیره کنید و برنامه رو ببندید. به پوشه دیباگ برید و دو فایل دیتابیس رو کپی کرده و به پوشه اصلی پروژه برید و روی دبتابیس اصلی ریپلیس کنید(احتمالا برای past کردن ، ویژوال استادیو رو باید ببندید)

hamid_0341
شنبه 29 تیر 1392, 11:44 صبح
اقا این یک نمونه از برنامه که با linq زدم ولی باز save نمیشه

http://uploadboy.com/0z4z5xt475uk.html

مشکلش از کجاست؟

hamid_0341
شنبه 29 تیر 1392, 11:48 صبح
اگر نمیخواهید اطلاعات رو به فایلهای اصلی دیتابیس وارد کنید ، گزینه کپی دیتابیس را روی Do not copy بزارید. البته اگر تغییری در دیتابیس ایجاد کردید پروژه رو rebuild کنید.


اگر هم میخواهید اطلاعات در فایل های اصلی دیتابیس باقی بمونه
دو تا راه دارید
یکی اینکه از پنجره server explorer و از دیتابیس روی نام تیبل راست کلیک کرده و Show table data رو انتخاب کنید. در پنجره باز شده میتونید اطلاعات مورد نظر رو در دیتابیس اصلی ذخیره کنید.
راه دیگه هم اینه که یک بار پروژه رو دیباگ کنید و اطلاعات رو ذخیره کنید و برنامه رو ببندید. به پوشه دیباگ برید و دو فایل دیتابیس رو کپی کرده و به پوشه اصلی پروژه برید و روی دبتابیس اصلی ریپلیس کنید(احتمالا برای past کردن ، ویژوال استادیو رو باید ببندید)
اینجوری که static میشه
هر دفعه خودم باید اینکارارو بکنم !!
اینجوری اگه بخوام Delete و ویرایش توی برنامه رو تست کنم چجوری؟

Mahmoud.Afrad
شنبه 29 تیر 1392, 12:03 عصر
من که مشکلی نمیبینم.


این سوال بسیار تکراریه و چند بار بنده و دیگر دوستان جواب دادیم به همین خاطر دیگه حس تایپ نیست.
ولی در حد یک پاراگراف:
ویژوال استادیو در هر بار دیباگ فایل های دیتابیس رو از پوشه پروژه به پوشه دیباگ کپی میکنه. این ویژگی به برنامه نویس این امکان رو میده که در دیباگ هر تغییری خواست بده و در عین حال دیتابیس اصلی بدون دستکاری باقی بمونه و بتونه از این دیتابیس خام برای گرفتن خروجی نهایی(و احتمالا ساختن setup) استفاده کنه.
خلاصه اینکه وقتی در دیباگ بعد از حذف، اضافه و ... شما اطلاعات رو مجدد از دیتابیس دریافت میکنید متوجه اعمال تغییرات میشید(در کد خودتون سطر حذف میشه) پس کد مشکلی نداره. یعنی در اصل ، اصلا این مشکل نیست. یک امکان و ویژگی مثبت از ویژوال استادیوست.

hamid_0341
شنبه 29 تیر 1392, 12:09 عصر
آقا من در network server راحت این کارو انجام میدم واطلاعات ذخیره میشه اینجوری که خیلی بده کجاش خوبه ؟ من وقتی میخوام چیزی بنویسم و بعد Delete بشه حتما نیاز دارم الکی که نمینویسم

الان راه حلی نیست که این کار انجام بشه ؟ :متفکر:

khokhan
شنبه 29 تیر 1392, 12:29 عصر
آقا من در network server راحت این کارو انجام میدم واطلاعات ذخیره میشه اینجوری که خیلی بده کجاش خوبه ؟ من وقتی میخوام چیزی بنویسم و بعد Delete بشه حتما نیاز دارم الکی که نمینویسم

الان راه حلی نیست که این کار انجام بشه ؟ :متفکر:
من نمونه ارسالی شما رو رو سیستم خودم اجرا کردم عمل حذف انجام نمی شد

دوباره باز نویسی کردم مشکلش حل شد حالا اینو یه امتحانی بکن ببین رو سیستم شما چه جوریاست

لینک (http://uplod.ir/xjm28gdol4r9/Linq.rar.htm)

hamid_0341
شنبه 29 تیر 1392, 13:03 عصر
من نمونه ارسالی شما رو رو سیستم خودم اجرا کردم عمل حذف انجام نمی شد

دوباره باز نویسی کردم مشکلش حل شد حالا اینو یه امتحانی بکن ببین رو سیستم شما چه جوریاست

لینک (http://uplod.ir/xjm28gdol4r9/Linq.rar.htm)

اقا دستت درد نکنه ولی مشکل حل نمیشه از شما هم که تست کردم باز ذخیره نکرد
از شما مشکلی نداره موقع ذخیره یا حذف؟
اقای افراد که میگه کلا اینجوریه :لبخندساده:
اقا میتونی از تنظیماتت ویژال استودیوت بهم یه Export بدی؟

sarbazgomnam
دوشنبه 25 فروردین 1393, 23:07 عصر
سلام منم همین مشکل رو دارم شما تونستید مشکلتون رو حل کنید؟