Library System
Library System
با سالم و خسته نباشید خدمت دوستان وکاربران سایت تحلیل داده،در این پروژه ما قصد داریم تا یک
برای ساخت این پروژه کوچک ،به نرم افزارهای زیر احتیاج خواهیم داشت:
فایل Bacupدیتابیس نیز همراه پروژه آپلود می شود،میتوانید بعد از دانلود آن را Restoreکنید.
ابتدا Sql Serverرا باز کرده و یک دیتابیس بنام LIBRARYDBFایجاد کنید،برای آموزش ایجاد دیتا بیس و ساخت
: tblCategoryاین جدول اطالعات مربوط به رده بندی کتابها را در خود نگه می دارد.
: tblIssue_Booksاین جدول اطالعات مربوط به کتاب هایی که به اعضا امانت داده شده را در خود نگه می دارد.
: tblUsersاین جدول اطالعات مربوط به loginشامل نام کاربری و گذرواژه و ...کاربران کتابخانه را در خود نگه می
دارد.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 165 -واحد7
88146323 - 88446780 - 88146330
بعد از دانلود پروژه و Restoreکردن دیتابیس برای اینکه پروژه شما درست کار کند باید ConnectionStringآن را
در این مرحله از منوی Viewگزینه Server Explorerرا بزنید و سپس مانند شکل زیر بر روی
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 165 -واحد7
88146323 - 88446780 - 88146330
بعد از کلیک بر روی دکمه Advancedمانند شکل زیر ConnectionStringرا انتخاب کرده و کپی کنید و بر
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 165 -واحد7
88146323 - 88446780 - 88146330
سپس در پنل سمت راست( )Solution Explorerکالس ( ConnectionString.csقسمت اول) را باز کرده و
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 165 -واحد7
88146323 - 88446780 - 88146330
بعد از Pastکردن اگر با خطا مواجه شدید مانند شکل باال به اول ConnectionStringعالمت @ را اضافه
کنید.
: frmLoginدر ابتدا یک فرم Loginبرای ورود کاربران و اعضا و کارمندان مانند تصویر زیر ایجاد میکنیم.
بعد از ایجاد فرم بر روی دکمه ورود دابل کنید تا وارد قسمت کد نویسی شوید.در شکل زیر قسمت های مربوط
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 165 -واحد7
88146323 - 88446780 - 88146330
در قسمت مربوط به کدهای Loginابتدا بررسی میکنیم که کادرهای متن خالی نباشند و سپس محتویات
کادرهای متن را به دیتابس میفرستیم تا ببینیم این کاربر در سیستم ثبت شده یا نه،اگر ثبت شده بود
اطالعات مربوط به کاربر را گرفته و مانند شکل زیر در کار متن فرم های بعدی وارد میکنیم،تا بررسی کنیم که
اگر کاربر معمولی بود به قسمت های مربوط به مدیریت و کارمندی دسترسی نداشته باشد و اگر کارمند بود به
قسمت مدیریت دسترسی نداشته باشد،در اینجا ما میتوانستیم در قسمت Loadهر کدام از فرم ها هم این
کار را انجام دهیم و دسترسی کاربران به بخش های مختلف را مدیریت کنیم ولی از این روش استفاده کردیم تا
شما دوستان یاد بگیرین که از این طریق هم میشه کارهای کاربران را مدیریت کنیم.کدها مربوط به دکمه های
Close,Minimizeو انصراف هم پیچیدگی خاصی ندارند بنابراین از توضیح آنها چشم پوشی میکنم .بعد از
در فرم frmMainدو کادر متن داریم که در هنگام اجرا دیده نمیشوند،این دو کادر متن همان کادر متن هایی
هستند که در بخش Loginمقدار دهی کردیم.در این فرم تنها کاری که باید انجام بدهیم این هستش که به
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 165 -واحد7
88146323 - 88446780 - 88146330
ازای هر فرم یک منو طراحی می کنیم برای افزودن منو از ToolBoxیک MenuStripرا Dragکرده ودر فرم
Dropمیکنیم و سپس هر آیتم منو را به فرم مربوطه میفرستیم،برای این کار مانند زیر عمل میکنیم.
:frmBookInfoدر این فرم اطالعات کتاب مانند عنوان کتاب،نام نویسنده،ناشر،رده و تعداد
را میتوانیم وارد کرده و آن را در دیتابیس ذخیره کنیم و یا در صورت وجود در دیتابیس ،یک
برای ذخیره کردن کتاب در دیتابیس بر روی دکمه ذخیره دابل کلیک کنید تا وارد قسمت کد
نویسی شوید.در این قسمت ابتدا باید برای کتاب یک شناسه منحصر به فرد ایجاد کنیم که
برای این کار از یک تابع به نام GetCodeاستفاده میکنیم که به صورت زیر است:
)public static string GetCode(int maxSize
{
;]char[] chars = new char[70
;)(chars = "123456789".ToCharArray
;]byte[] bytes = new byte[1
;)(RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider
;)crypto.GetNonZeroBytes(bytes
;]bytes = new byte[maxSize
;)crypto.GetNonZeroBytes(bytes
;)(StringBuilder results = new StringBuilder
)foreach (byte b in bytes
{
;)])results.Append(chars[b % (chars.Length
}
;)(return results.ToString
}
سپس در ابتدا تمامی کادرهای متن را بررسی میکنیم که خالی نباشند و در آخر اطالعات را در دیتابیس به
صورت زیر ذخیره میکنیم:
try
{
;)txtBookId.Text = "B" + GetCode(5
;)connect = new SqlConnection(conn.connectString
;)(connect.Open
string insert = "insert into tblBooks(book_id, book_title,author,publisher,
;")category,quantity)values(@b_id,@b_t,@au,@pu,@cat,@qua
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 165 -واحد7
88146323 - 88446780 - 88146330
cmd = new SqlCommand(insert, connect);
cmd.Parameters.Add(new SqlParameter("@b_id", SqlDbType.VarChar)).Value = txtBookId.Text;
cmd.Parameters.Add(new SqlParameter("@b_t", SqlDbType.VarChar)).Value = txtTitle.Text;
cmd.Parameters.Add(new SqlParameter("@au", SqlDbType.VarChar)).Value = txtAuthor.Text;
cmd.Parameters.Add(new SqlParameter("@pu", SqlDbType.VarChar)).Value = txtPublisher.Text;
cmd.Parameters.Add(new SqlParameter("@cat", SqlDbType.VarChar)).Value = cmbCategory.SelectedItem;
cmd.Parameters.Add(new SqlParameter("@qua", SqlDbType.Int)).Value = nudQuantity.Value;
cmd.ExecuteNonQuery();
MessageBox.Show("Book info successfully saved....!", "Book Record", MessageBoxButtons.OK,
MessageBoxIcon.Information);
ClearAll();
//cmd.Dispose();
connect.Close();
}
catch(SqlException ex)
{
MessageBox.Show(ex.Message.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
دراین دکمه کار خاصی انجام نمیدهیم،بر روی دکمه جدید دابل کلیک کنید تا به قسمت کدنویسی وارد شوید
.فقط تمامی کادرهای متن را خالی میکنیم تا ماربر بتواند کتاب جدیدی را ایجاد کند
کدهای مربوط به دکمه ویرایش مانند دکمه ذخیره می باشد ابتدا باید کادر های متن را بررسی کنیم که خالی
نباشند سپس عملیات درج در دیتابیس را مانند دکمه ذخیره مینویسیم با این تفاوت که به جای دستور
در کدهای مربوط به دکمه حذف ابتدا بررسی میکنیم که شناسه کتاب خالی نباشد و بعد کتاب را از دیتابیس
.حذف می کنیم
دارد کهDataGridView را صدا میزنیم که فقط یکfrmBookRecords در رویداد دکمه ی مشاهده فرم
در رویداد. فرم این دیتا گرید را پر میکنیم و به کاربر نمایش میدهیمLoad در رویداد
. در این فرم شما میتوانید رده بندی های مختلفی را اضافه کرده و یا حذف و ویرایش کنید:frmCategory
. می باشد بنابر این دیگه توضیحشون نمیدمfrmBookInfo کدهای مربوط به این فرم نیز مانند فرم
7 واحد165 - پالک- جنب بانک صادرات- باال تر از خيابان ملک- خيابان شريعتی- تهران: آدرس آموزشگاه
88146323 - 88446780 - 88146330
:frmEmployeeاین فرم نیز فرم مربوط به مدیریت کارمندان می باشد که میتوانید کارمندان را حذف و یا
اضافه کنید،کدهای مربوط به این فرم نیز مانند فرم frmBookInfoمی باشد بنابر این دیگه توضیحشون
نمیدم.
:frmIssueدر این فرم کارمند می تواند به اعضای کتابخانه کتاب را امانت داده ویا امانات را به کتابخانه
بازگرداند.
:frmMemberاین فرم مربوط به حذف و اضافه و ویرایش اعضا می باشد ،کدهای مربوط به این فرم نیز
:frmUsersاین فرم مربوط به حذف و اضافه و ویرایش کاربران کتابخانه می باشد ،کدهای مربوط به این فرم
نیز مانند فرم frmBookInfoمی باشد بنابر این دیگه توضیحشون نمیدم.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 165 -واحد7
88146323 - 88446780 - 88146330