آموزش پیشرفته ASP.Net Web Forms نحوه اتصال به پایگاه داده SQL

گروه نرم افزاری هیلتن
گروه نرم افزاری هیلتن
2 هزار بار بازدید - 3 سال پیش - به نام خدا در این
به نام خدا در این جلسه قصد داریم نحوه اتصال پایگاه داده SQL به ASP.net با استفاده از زبان C# و نحوه واکشی داده ها از دیتابیس را با استفاده از Visual Studio توضیح دهیم.قبل از شروع کار شما حتما باید با مفاهیم پایگاه داده sql server و ado.net آشنایی داشته باشید که پکیج های آموزشی مربوط به این دو ، در سایت هیلتن موجود میباشد.تو محیط ویژوال استودیو از قبل یک پروژه از نوع asp.net ایجاد کرده ایم.در محیط sql server نیز از قبل یک دیتابیس بنام DBTest ساختیم و یک جدول هم بنام Student براش ساختیم که شامل سه تا فیلد ID , Name , LastName میباشد و بصورت دستی چندین رکورد داخل این جدول وارد کرده ایم.برای اینکه کار سریع تر پیش بره ما از یک ابزار به نام LCG (که یک Code Generator ساخت گروه هیلتن میباشد و کدها را تولید یا جنریت میکند که باعث افزایش سرعت میشود) استفاده میکنیم پروسیجرها و کدهای سی شارپ لازم برای دیتابیس DBTest رو باهاش تولید میکنیم.بعد اینکه کدها تولید شدن دوتا پوشه ساخته شده که یکی store procedure هست که تو sql server اونو Execute میکنیم. یک پوشه هم به نام App_Source هست (که در واقع کدهایی است که با استفاده از رابط ado.net نوشته شده ، شامل لایه های دیتا و بیزینس ، آبجکت ها و کانکشن) . پوشه App_Source رو داخل پروژه asp.net تو قسمت روت سولوشن کپی میکنیم.تو قسمت روت سولوشن یک پوشه بنام Pages میسازیم.حالا داخل پوشه Pages به ازای هر جدولی که تو دیتابیس داریم ، یک پوشه میسازیم .در اینجا چون ما داخل دیتابیس یک جدول به نام Student داریم بنابراین داخل پوشه Pages یک پوشه به نام StudentView میسازیم.داخل پوشه StudentView دوتا وب فرم WebForm اضافه میکنیم.یک وب فرم بنام Index.aspx که برای نمایش لیست اطلاعات واکشی شده دانش آموزان از دیتابیس هست و یک وب فرم دیگه بنام Action.aspx که شامل اکشن هایی نظیر insert , delete , update میباشد.وارد فرم Index میشیم و از منو تولباکس ToolBox و از سربرگ Data یک GridView روی فرم میندازیم (asp:GridView) . تو فرم Index روی صفحه راست کلیک میکنیم و روی view code کلیک میکنیم تا به قسمت کدهای سی شارپ در سمت سرور منتقل بشیم.در قسمت کدهای سمت سرور یک تابع به نام GetList مینویسیم و سپس این تابع رو داخل ایونت Page_Load فراخوانی میکنیم تا لیست دانش آموزان رو واکشی کنه و با لود صفحه ، درون GridView نمایش بده.گام بعدی داخل تگ asp:GridView با استفاده از تگ Columns و asp:BoundField اون ستون هایی که میخوایم نمایش بده رو (با HeadeText دلخواه) تعیین میکنیم .داخل تگ asp:GridView ویژگی AutoGenerateColumns = false در نظر میگیریم تا ستون های پیشفرض تکراری رو نمایش نده و فقط ستون هایی که ما تو گرید ویو تعیین کردیم رو نمایش بده.مرحله بعد یک کلاس css مینویسیم و گریدویو GridView رو راست چین میکنیم تا سمت راست صفحه نمایش داده بشه.یک کلاس css دیگه هم برای تعیین رنگ پس زمینه هدر گریدویو ایجاد میکنیم و با استفاده از ویژگی HeaderStyle-CssClass که داخل تگ asp:GridView بکار میره ، اون کلاس css که واسه رنگ پس زمینه هدر گریدویو نوشتیم رو فراخوانی میکنیم. حالا میخوایم سطرهای گرید ویو یکی در میان رنگی باشه.برای اینکار یک کلاس css دیگه هم بنام row میسازیم و یک رنگی رو به اون کلاس میدیم.حالا برای اینکه سطرها یکی درمیان رنگی باشه از قسمت سمت راست صفحه تو قسمت Properties یک ایونت بنام RowDataBound داره که وقتی داده ها به گریدویو بایند یا متصل شدن این ایونت اجرا میشود.روی ایونت RowDataBound دابل کلیک میکنیم تا سمت باز بشه و داخلش این کد رو میزنیم: if (e.Row.RowIndex % 2 == 1) e.Row.CssClass = row در کد بالا شرط گذاشتیم اگر باقیمانده شماره سطری تقسیم بر 2 برابر با 1 بود بیا و به اون سطر کلاس css row رو بده. گام بعدی با استفاده از ویژگی AllowPaging = true که داخل تگ asp:GridView بکار میره ، به گرید ویو اجازه چیج بندی یا صفحه بندی میدیم (در صورتی که رکوردها زیاد باشد نیاز داریم اطلاعات در چندین صفحه نمایش داده بشن) با استفاده از ویژگی PageSize هم در صورت پیج بندی میتونیم کاری کنیم در هر صفحه گرید ویو چندتا رکورد جا بگیره.اما وقتی بخوایم صفحات گریدویو رو ورق بزنیم برنامه ارور میده.برای حل این مشکل ، تو قسمت Properties یک ایونت بنام PageIndexChanging داره ، واردش میشیم و کد زیر رو میزنیم که باعث میشه ایندکسی که تازه تغییر میکنه رو بهش بده: GridView1.PageIndex = e.NewPageIndex گام بعدی هم با تگ asp:TemplateField و ItemTemplate یک ستون ایجاد میکنیم که روبری هر سطر یک دکمه جهت ویرایش اضافه شده باشد
3 سال پیش در تاریخ 1400/05/21 منتشر شده است.
2,043 بـار بازدید شده
... بیشتر