مشاهده نسخه کامل
: Dataset & View
mina_ghorbani
01-08-2008, 07:19
یه دیتا ست دارم یه تیبل اداپتر گذاشتم ولی به جای اینکه یه جدول رو اد کنم وییو اد کردم اطلاعات جدید رو که وارد میکنم اصلا ثبت نمی شه مراحل کارم هم عین آپدیت کردن جدوله
می دونید باید چه کنم؟
سلام
در TypeddataSet ها، وقتی جدول جدیدی را مستقیماً از یک جدول SELECT میکنید، VS میتواند دستورات متناظر مورد نیاز برای UPDATE و DELETE و INSERT را به صورت خودکار بسازد.
ولی وقتی SELECT از جای دیگری تآمین شود، امکان دارد VS نتواند سه دستور نظیر فوق را خودکار تولید کند.
شما باید به نمایه طراحی TypedDataSet تان بروید و DataAdapter را انتخواب کنید و به صورت دستی سه خصوصیت InsertCommand و UpdateCommand و DeleteCommand را تنظیم و با دستورات مناسب SQL مقدار دهی کنید و Parameters هر یک را هم به فیلد مناسب در TypedDataTable نظیر کنید و خصیصه SourceVersion هر پارامتر را هم با دقت تنظیم کنید.
mina_ghorbani
01-08-2008, 18:30
ببینید من این کد ها رو نوشتم
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که Vdaroo1 یه tableadapter تو دیتا ستمه که در اصل view بوده
بعد من موقع درست کردن تیبل آداپتر از تب view انتخابش کردم
تو دیتا بیسم دوتا جدوله:
Tdaroo که این ستونا رو داره : DarooSN ,CodeDaroo,NameDaroo,SherkatID ,EXPdate ,PROdate
و جدول:
Tsherkat که این جوریه SherkatSN , NameSherkat , Tel , Fax, Address
یه view درست کردم از اینا اسمشو گذاشتم Vdaroo که تو دیتا ست اد کردم
همه ی Tdaroo تو وییو هست بعلاوه ی NameSherkat از Tsherkat
بعدش اینکه SherkatID و SherkatSN ریلیشن دارن یعنی ID از SN خونده میشه
سلام
دوست عزیز،
اگر تغییرات شما در دیتابیس ذیخره نمیشود و برای انتخاب View را انتخواب کرده اید.
راه حل مشکل شما همان پست دوم است.
و مشکل جاری شما گمان نکنم زیاد ربطی به کدهایی که اینجا نوشته اید ندارد.
شما با انتخواب یک View برای SELECT ، قابلیت ساخت خودکار دستورات UPDATE و DELETE و INSERT را از کار انداخته اید و همانطور که توضیح دادم باید موارد فوق را دستی تنظیم کنید.
حداقل سه دستور فوق را چک کنید و ببینید اصلاً در DataAdapter تنظیم شده اند یا نه؟
اگر در این فرآیند تنظیم به مشکلی برخوردید، در خدمت هستم.
موفق باشید.
mina_ghorbani
02-08-2008, 15:38
میشه دقیق بهم بگید که چه کار کنم خیلی ممنون
mina_ghorbani
02-08-2008, 19:02
من این کار هارو انجام دادم یعنی از یه دیتا آداپتر که از یه جدول بود همه چیزا رو عین اون تنظیم کردم کوئری ساختم بعد پارامتر هارو همه رو چه سایز چه سورس ورزن و سورس نالشونو درس کردم ولی نازم جواب نداد
سلام
کل فایلهای TypedDataSet تان را آپلود کنید و اگر امکان دارد، نمونه ی خالی دیتابیس تان هم باشد، بد نیست، تا خودم نگاهی بیاندازم.
فقط دقت کنید که فایلهای دیتاست چهار و بعضاً پنج تا هستند.
اگر مایل بودید، میتوانید لینک دانلود را pm کنید.
راه دیگری به ذهنم نمیرسد.
mina_ghorbani
03-08-2008, 19:30
ییه مشکل جدید پیدا کردم دیتا بیس رو دیتچ کردم که ازش کپی بگیرم تمام چیزایی که وارد کرده بودم تو جدولا پاک شد وییو ها هم پاک شد.
یه مشکل دیگه هم اینه وقتی برنامه رو اجرا می کنم تو فرم لود از این ایراد میگیره:
this.tsherkatTableAdapter.Fill(this.baseDataSet.Ts herkat);
این یکی جدول ولی بازم ایراد می گیره.
سلام
ییه مشکل جدید پیدا کردم دیتا بیس رو دیتچ کردم که ازش کپی بگیرم تمام چیزایی که وارد کرده بودم تو جدولا پاک شد وییو ها هم پاک شد.
با detach همچین اتفاقی نمی افتد.بیشک یک کار اشتباه دیگر کرده اید.
مثلاً من خودم یکبار در اوایل کودکی (!!!) در نرم افزاری SQL Server Management Studio فرمان RightClick->Delete دادم، این فرمان در ظاهر انسان را گول میزند و در کنار فرامین بی ضرر دیگر انسان فکر میکند که دیتابیس را از محیط داخلی SQL Server Management Studio حذف میکند و شاید هم گمان شود معادل detach است ولی .... :41::13::18:
.
یه مشکل دیگه هم اینه وقتی برنامه رو اجرا می کنم تو فرم لود از این ایراد میگیره:
this.tsherkatTableAdapter.Fill(this.baseDataSet.Ts herkat);
این یکی جدول ولی بازم ایراد می گیره.
DataSet ای برای من فرستاده اید، مشکل دارد و اگر ان را با مشکل جدید دیتابیستان کنار هم بگذاریم بدهی است که کار نخواهد کرد.
شما مطلقاً هیچ چیزی بجز Table در دیتابیس تان ندارید. بدهی است که دستوراتی که سعی در اتصال به View ای دارند که وجود ندارد به خطا میخورند.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.