وباکا

آموزش تخصصی برنامه نویسی وب

بانک اطلاعاتی با سی شارپ -8# برنامه نویسی بانک اطلاعاتی با استفاده از دیتاست

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

برای مطالعه این بخش اکیداً توصیه می شود ابتدا بخش قبلی را مطالعه نمایید در بخش قبلی، روش اتصال به بانک اطلاعاتی در سی شارپ و استفاده از دیتاست را بصورت کامل و تصویری آموزش داده شده است.

نمایش لیست رکوردها

در این قسمت از آموزش برنامه نویسی بانک اطلاعاتی در سی شارپ، لیست رکوردهای یک جدول مثل جدول دانشجویان را نمایش می دهیم. برای نمایش لیست دانشجویان، فرم را باز کرده و از جعبه ابزار و گروه Data، ابزار DataGridView را به فرم اضافه کرده و نام آن را به dgStuds تغییر می دهیم سپس در پنجرهProperties خاصیت Data Source آن را با انتخاب جدول دانشجویان از دیتاست مقدار می دهیم .

استفاده از دیتاست در برنامه نویسی بانک اطلاعاتی سی شارپ

تا بصورت خودکار مجموعه ای از کامپوننت های دیگر به فرم اضافه شده و کدنویسی های لازم برای پر کردندیتاگرید به برنامه اضافه می شود. این دستور هنگام لودشدن فرم اجرا شده و اطلاعات دانشجویان را در دیتاگرید نمایش خواهد داد.

 

privatevoid frmStuds_Load(object sender, EventArgs e)

{

// TODO: This line

this.tbl_studsTableAdapter.Fill(this.dataSet1.tbl_studs);

}

کامپوننت های اضافه شده در پایین فرم برای نمایش جدول و انجام عملیات مورد نیاز می باشند.

نمایش لیست رکوردها بصورت فیلتر شده

برای فیلتر کردن سطرهای جدول دانشجویان براساس کد رشته مناسب ترین راه، نمایش یک کمبوباکس در بالای فرم شامل لیست رشته های موجود در بانک اطلاعاتی است تا کاربر با انتخاب یکی از رشته ها، دانشجویان آن رشته را در گرید ببیند.

فیلترکردن رکوردها در سی شارپ

برای پرکردن کمبوباکس پس از افزودن کمبوباکس به فرم به سراغ پنجرهproperties رفته و :

  • خاصیت DataSource آن رفته و نام جدول tbl_fields را از دیتاست انتخاب می کنیم.
  • خاصیت DisplayMember را با ستون title مقدار می دهیم.
  • خاصیت ValueMember را با ستون fid (کلید اصلی جدول رشته ها) مقدار می دهیم.

حال دکمه ای برای فیلتر کردن به فرم اضافه کرده و در رویداد کلیک آن می نویسیم (یا هم بهتر است رویداد SelectionChangeCommited برنامه نویسی شود تا هنگام عوض کردن رشته انتخاب شده، کد زیر اجرا شود)

privatevoid btnFilter_Click(object sender, EventArgs e)

{

string fid=cmbField.SelectedValue.ToString();

this.tbl_studsTableAdapter.FillByFid(

this.dataSet1.tbl_studs ,int.Parse(fid) );

}

این قطعه کد ابتدا کد رشته انتخاب شده را از کمبوباکس بدست آورده و سپس با فراخوانی متد FillByFid از جدول tbl_studs (تعریف شده در دیتاست) لیست دانشجویان با کد رشته تعیین شده را از بانک خوانده و جدول را پرمیکند.

افزودن رکورد جدید

برای افزودن دانشجوی جدید، یک فرم جدید با نام frmStudAdd به پروژه اضافه می کنیم و در فرم frmStuds و رویداد کلیک دکمه Add کد زیر را برای نمایش فرم افزودن بصورت زیر می نویسیم:

privatevoid btnAdd_Click(object sender, EventArgs e)

{

frmStudAdd f = newfrmStudAdd();

f.ShowDialog();

btnFilter_Click(sender, e); // پرکردندیتاگرید

}

فرم frmStudAdd دارای طراحی زیر بوده و کنترل هایی برای دریافت نام، معدل و کدرشته دانشجو می باشد. ستون شماره دانشجویی چون بصورت identity تعریف شده نیازی به مقداردهی آن نمی باشد.

برای انتخاب رشته از کموباکس استفاده می کنیم که تنطیمات آن مشابه قبل انجام می شود.

ورودیهای فرم بصورت زیر اند:

  • txtName : نام دانشجو
  • txtAvgr: معدل
  • cmbFid : کدرشته

برای اجرای دستو درج ابتدا کامپوننت tbl_studsTableAdapter موجود در فرم frmStuds را به این فرم کپی کرده و سپس رویداد کلیک دکمه های OK و Cancel را بصورت زیر کد نویسی می کنیم:

 

حذف رکورد انتخاب شده از لیست

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

شیء دیتاگرید دارای یک خاصیت بنام CurrentRow است که سطر جاری آنرا نشان می دهد و این شیء نیز دارای یک شیء داخلی بنام Cells است که سلول های داخل آن سطر را نشان می دهد و یک آرایه از مقادیر است. اندیس های این آرایه از صفر شروع می شود و چنانچه شماره دانشجویی اولین ستون در گرید باشد، اندیس آن صفر خواهد بود. بنابراین کد زیر را برای رویداد کلیک دکمه Delete می نویسیم:

حذف رکورد در سی شارپ

ویرایش رکورد انتخاب شده از لیست

برای ویرایش یک دانشجو از فرم جداگانه ای استفاده می کنیم، فرم جدید را با نام frmStudEdit به پروژه اضافه کرده و بصورتمقابل طراحی می نماییم.

جعبه متن txtSid برای نگهداری شماره دانشجویی و بصورت فقط خواندنی (ReadOnly ) تعریف می شود و برای کدرشته هم به لحاظ سادگی جعبه متن txtFid  استفاده شده است.یک کپی از کامپوننت های مربوط به دیتاست موجود در پایین فرم frmStudAdd را به این فرم نیز کپی می کنیم.

حال برای کدنویسی، ابتدا دانشجوی مورد نظر را در دیتاگرید انتخاب می کنیم و با روش قبل شماره دانشجویی آنرا بدست می آوریم. سپس دستوراتی برای نمایش فرم frmStudEdit بصورت زیر می نویسیم. دقت کنید که در اینجا شماره دانشجویی به عنوان ورودی به فرم ویرایش ارسال می شود. دکمه ویرایش فرم frmStuds بصورت زیر کدنویسی می شود:

ویرایش رکورد سی شارپ

تابع سازنده، تابعی است همنام با فرم که هنگام ایجاد فرم بصورت خودکار فراخوانی می شود. در قطعه کد فوق دستور زیر باعث فراخوانی تابع سازنده شده و مقدار sid به عنوان پارامتر به آن داده می شود و سپس پس در فرم  frmStudEdit تابع سازنده را بصورت زیر کدنویسی می‌کنیم تا مقدار sid را برای بدست آوردن مشخصات دانشجو از بانک اطلاعاتی استفاده کرده و خصوصیات دانشجو را یکی یکی به جعبه متن های روی فرم نسبت دهد. لازم به ذکر است نتیجه اجرای متد getDataBySid() داخل جدول dt ریخته شده که انتظار داریم شامل تنها یک سطر با اندیس صفر باشد . پس در آرایه دوبعدی Rows از سطر صفر و ستون های مختلف، خصوصیات مختلف دانشجو را بدست می آوریم:

ویرایش رکورد-تابع سازنده در سی شارپ

همچنین باید دکمه های OK  و Cancel روی فرم frmStudEdit را بصورت زیر برنامه نویسی کنیم :

ویرایش رکورد در سی شارپ

همانطور که در کد فوق دیده می شود برای اصلاح مشخصات دانشجو ، متد UpdateRow() که قبلا در دیتاست تعریف شده است را فراخوانی کرده ایم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطالب