سئوالات اکثر افراد تازه کار در ارتباط با ADO.NET در C#‎ و SQL SERVER
بطور کلی روش مرسوم جهت نمایش اطلاعات در نرم افزار استفاده از یک دیتا گریدویو است.
جهت نمایش اطلاعات می توان از یک select Command استفاده نمود.
حال برای بقیه کار دو راه پیش رو داریم:
راه اول:
جهت افزودن رکورد اطلاعات می توان با نوشتن یک دستور NonQuery و اجرای آن به هدف رسید.
جهت حذف اطلاعات نیز با گرفتن اندیس رکورد انتخاب شده و انجام عملیات خط بالا می توان عمل کرد.
جهت ویرایش اطلاعات، عموماً در نرم افزار های ایرانی و فارسی دیده شده که دوحالت اتفاق می افتد:
روش 1: استفاده از کلیه فیلدهای یک گرید ویو در همان فرم هست که با bind کردن ستونهای گرید ویو به فیلدهای صفحه اتفاق می افتد. بعد با انتخاب هر ردیف از گرید، اطلاعات رکورد جاری را در فیلدهای مربوط به خود نمایش دهد. خوب بعد براحتی پس از انجام تغییرات، می توان یک UpdateCommand نوشت و تغییرات اطلاعات را ذخیره نمود.
روش 2: یک گرید ویو داشته باشیم و رکورد مورد نظر را انتخاب کنیم (مثلاً با استفاده از جستجو). بعد با استفاده از دبل کلیک (یا دکمه ویرایش) روی رکورد مورد نظر، وارد فرمی شویم که تمام فیلدهای اون رکورد را داشته باشد و بتوانیم ویرایش را انجام دهیم. به نظر می رسد این روش استاندارد تر از روش قبلی باشد ولی این که اطلاعات رکورد انتخاب شده از این فرم به فرم ویرایش انتقال پیدا کند را نمی دانم چطوری امکان پذیر است. (سئوال 1 این بود)
راه دوم:
راه دیگر این است که کلاً با استفاده از خود دیتاگریدویو جهت افزودن، حذف و ویرایش اطلاعات اقدام کنیم:
یعنی این که در خود گرید ویو اطلاعات را تغییر دهیم و با انتخاب گزینه ثبت، کلیه تغییرات انجام شده ( شامل update یا Insert و یا Delete) را انجام دهد. این روش اصولاً در جاهایی کاربرد دارد که اطلاعات جدول ما شامل ستونهای اندک است و منطقی است از این روش استفاده شود. (دستور پشت دکمه ثبت چه باشد را نمی دانم که کل تغییرات را بتواند انجام دهد. (سئوال2))

اگر وارد کار نوشتن یک برنامه ساده شده باشید به این موارد برخورد می کنید. چون که اصولاً اکثر کار یک برنامه، ذخیره و بازیابی اطلاعات است و طبیعتاً در جاهای مختلف برنامه نیاز است از هر یک از این روشها استفاده نمود.
بهمین دلیل خواهشمندم جواب این دو سئوال را شرح دهید. در قسمت های دیگر که سئوالی نداشتم، توانسته بودم کار را با آموزش های خوب سایت، جلو ببرم اما در این موارد به بن بست خوردم و هیچ جوابی برای آنها پیدا نکردم.
با تشکر