سلام
اما مشکل عدم ثبت اطلاعات بعد از تغییر یا اضافه کردن در دیتاگرید هنوز پابرجاست. شما فرمودید که از کد Update استفاده کنم. اما کجا و چطوری؟
همان طوری که قبلا اشاره کردم، بنده یک DataTable را به DataSource دیتاگرید متصل کرده ام
حال می خواهم بعد از تغییرات روی سطر و ستونهای دیتا گرید، تغییرات اعمال شود (AllowUserToAddRow و AllowUserToDeleteRow هم True می باشد) اما نمی دانم چطوری و کجا؟ آخه در ویبی 6 همین که این دو گزینه True بود دیگه همه کاری می کرد
دستور DataAdapterName.Update را در کجا استفاده کنم؟ آیا منظورتون اینکه در کنار Fill استفاده کنم، در این صورت تغیری اعمال نشده است چرا که دستور Fill فقط یکبار آنهم در ابتدای اتصال به دیتا بیس استفاده شده است.
سیستم DataAdapter و DataSet و DataTable یک مکانیزم غیر متصل است.
یعنی شما اول کل اطلاعات مورد نیاز برای نمایش را در RAM لود کرد و ویرایش و حذف و اضافه میکنید و در اخر تغییرات را مجدد در دیتابیس ذخیره میکنید.
نتیجه این مکانیزم ان است که نیاز میشود دستور بارگذاری و ذخیره را خودتان باید بدهید.
یعنی مثلاً برخلاف ADO که دکمه Save در ان معنی نداشته و خودکار با ناوبری سطرها اطلاعات ذخیره میشد در ADO.Net نیاز دارید دکمه Save داشته باشید و کاربر یا برنامه صراحتاً فرمان Save را بدهد.
حالا این بارگذاری اولیه با متد DataAdapter.Fill انجام میشود و ذخیره سازی تغییرات هم با DataAdapter.Update انجام میشود.
Fill نیاز به یک SQL-SELECT دارد ولی Update نیاز به سه دستور SQL-INSERT و SQL-DELETE و SQL-UPDATE دارد.
شما میتوانید یک DataAdapter آماده و ساده را با هر 4 دستور فوق با کدی مثل این تولید کنید:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا میتوانید با فرمانی مثل این اطلاعات را خوانده و پر کرده و نمایش دهید:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و برای ذخیره اطلات در زمان کلیک دکمه Save و یا بسته شدن فرم و... هم میتوانید کدی مثل این بنویسید:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
(
کدهای کوتاهی برای حل مشکل فعلی شما بیان کردم ولی ADO.Net گسترده تر از ان است که بتوان در یک پست و حتی یک تاپیک چندین صفحه ای ان را کامل باز کرد و تشریح کرد.
نتیجتاً پیشنهاد میکنم که اگر پروژه موقت دانشجویی ندارید و میخواهد برنامه نویسی را جدی ادامه دهید حتماً حتماً کتابی در خصوص ADO.Net تهیه و مطالعه کنید.
یقیناً یک کتاب 300 و 500 صفحه ای بهتر میتواند ساختار و اشیا و دستورات مختلف ADO.Net را برایتان باز کند.
)
در این لیست ویویی که اطلاعات دیتا بیس قرار گرفته چگونه می توان براساس text سرچ کرد
راه ساده و سریع ان این است که یک BindingSource به نمایه طراحی فرمتان اضافه کنید و آنرا به DataSet یا DataTable تان متصل کنید و بعد هم DataGridView تان را به این BindingSource وصل کنید ...
حالا میتوانید با تغییر در خصیصه BindingSource.Filter سریعاً آیتمهای خاصی را فیلتر کنید و DataGridView هم سریعتاً موارد فیلتر شده را نشان دهد ...
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشید.