PDA

View Full Version : فرم اطلاعات شخصی



taj3da
سه شنبه 21 اردیبهشت 1395, 00:50 صبح
سلام

من میخوام یه برنامه باشه با چنین قابلیتی که تو فرم اول یک دکمه بذارم برای افزودن اطلاعات پرسنلی بعدش یک فرم باز بشه و اطلاعات شخصی افراد وارد کنم توش بعد از اینکه ذخیره کردم اسم طرف بیاد تو فرم قبلی بشینه و با کلیک روی اون اسم بشه دوباره اطلاعات دید و ویرایش کرد

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

یه راهنمایی کنید

csharpcollegian
سه شنبه 21 اردیبهشت 1395, 02:28 صبح
سلام
دوست عزیز می تونید یه فرمی مثل این درست کنید :




140318



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

taj3da
سه شنبه 21 اردیبهشت 1395, 15:52 عصر
سلام
دوست عزیز می تونید یه فرمی مثل این درست کنید :




140318



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

تشکر دوست عزیز

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

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



140334140333

csharpcollegian
سه شنبه 21 اردیبهشت 1395, 16:40 عصر
نمی دونم درست متوجه منظورتون شدم یا نه...
شما یه فرم ایجاد کن و داخل اون فرم یک دیتاگریدویو قرار بده.
برای دیتاگریدویو دو ستون مشخص کن، یکی شناسه کارمند(این همون ستونیه که در جدول کارمند به عنوان کلید اصلی انتخاب کردی و یکتاست) و یکی هم نام کارمند.
نام ستونه شناسه کارمند رو clmnID بذار و از حالت Visible خارج کن تا دیتاگریدویو فقط لیست اسامی پرسنل رو نشون بده.
حالا رویداد دابل کلیک دیتاگریدویو رو به صورت زیر تنظیم کن :

private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
int id = (int)dataGridView1.CurrentRow.Cells["clmnID"].Value;
}
به کمک این کد می تونی شناسه کارمندی که توسط کاربر انتخاب شده رو بدست بیاری.
حالا می تونی با یه Select ساده اطلاعات کارمند رو در فرم جدید به نمایش بذاری.
موفق باشی

taj3da
سه شنبه 21 اردیبهشت 1395, 16:57 عصر
نمی دونم درست متوجه منظورتون شدم یا نه...
شما یه فرم ایجاد کن و داخل اون فرم یک دیتاگریدویو قرار بده.
برای دیتاگریدویو دو ستون مشخص کن، یکی شناسه کارمند(این همون ستونیه که در جدول کارمند به عنوان کلید اصلی انتخاب کردی و یکتاست) و یکی هم نام کارمند.
نام ستونه شناسه کارمند رو clmnID بذار و از حالت Visible خارج کن تا دیتاگریدویو فقط لیست اسامی پرسنل رو نشون بده.
حالا رویداد دابل کلیک دیتاگریدویو رو به صورت زیر تنظیم کن :

private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
int id = (int)dataGridView1.CurrentRow.Cells["clmnID"].Value;
}
به کمک این کد می تونی شناسه کارمندی که توسط کاربر انتخاب شده رو بدست بیاری.
حالا می تونی با یه Select ساده اطلاعات کارمند رو در فرم جدید به نمایش بذاری.
موفق باشی

اینجوری بگم بهتره

میخوام وقتی روی نام کارمند کلیک کردم
همون فرمی که من اطلاعات پر میکنم توش برای اولین بار بیاد فقط مقادیرش نشه تغییر داد.

csharpcollegian
سه شنبه 21 اردیبهشت 1395, 17:29 عصر
خب همون مراحلی که توو پست #4 (http://barnamenevis.org/showthread.php?523309-%D9%81%D8%B1%D9%85-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%B4%D8%AE%D8%B5%DB%8C&p=2319672&viewfull=1#post2319672) گفتم رو برید جواب میگیرید دیگه، مشکل کجاست ؟

taj3da
سه شنبه 21 اردیبهشت 1395, 17:41 عصر
اره حله :لبخند:

ممنون

taj3da
چهارشنبه 22 اردیبهشت 1395, 15:24 عصر
چجوری باید در قسمت دابل کلیک کد بنویسم چجوری فراخوانیش کنم؟

و چجوری وقتی روی دیتاگرید دوبار کلیک کردم یک فرم جدید باز بشه و اطلاعات پرسنل که کلیک شده روش نشون بده>؟

csharpcollegian
چهارشنبه 22 اردیبهشت 1395, 16:21 عصر
سلام
دوست عزیز بهتون پیشنهاد میکنم یه خورده در این زمینه مطالعه کنید، می تونید از کتاب آقای هاشمیان (http://www.parsbook.org/%DA%A9%D8%AA%D8%A7%D8%A8-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B2%D8%A8%D8%A7%D9%86-%D9%88%DB%8C%DA%98%D9%88%D8%A7%D9%84-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE) استفاده کنید که در این زمینه جزو بهترین هاست. همینطور می تونید از آموزش های دوستان که در سایت زیاد هست استفاده کنید، قطعا اینجوری بهتر و زودتر به نتیجه ی دلخواهتون میرسید.

چجوری باید در قسمت دابل کلیک کد بنویسم چجوری فراخوانیش کنم؟
کنترلی که تصمیم دارید در رویداد دابل کلیکش کد بزنید رو به فرم اضافه کنید.
روی اون یک بار کلیک کنید تا به حالت انتخاب بره،سپس از پنجره ی Properties آیکون Events رو فعال کنید.


140351



با انجام این کار لیست تمام رویدادهای مربوط به اون کنترل در پنجره Properties به نمایش در میاد که می تونید رویداد دابل کلیک رو از اون انتخاب کنید.

و چجوری وقتی روی دیتاگرید دوبار کلیک کردم یک فرم جدید باز بشه و اطلاعات پرسنل که کلیک شده روش نشون بده>؟
در رویداد دابل کلیک دیتاگرید یک فرم جدید رو به کار نمایش بدید.
با یک کوئری اطلاعات رو از دیتابیس بخونید.
با استفاده از یک دیتاگرید یا هر روش دیگه ای که تمایل دارید اطلاعات رو برای کاربر به نمایش بذارید.
موفق باشید

taj3da
پنج شنبه 23 اردیبهشت 1395, 18:06 عصر
یک فرم ورود درست کردم

فقط میخواستم این خط توضیح بدید



if (con.State == ConnectionState.Closed)
{
con.Open();
i = (int)com.ExecuteScalar();
}//end if

con.Close();

if (i > 0)
{
Form1 form = new Form1();
form.Show();
}
else
MessageBox.Show("نام کاربری و یا رمز عبور اشتباه می باشد", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
i = 0;
con.Close();

taj3da
پنج شنبه 23 اردیبهشت 1395, 18:15 عصر
اینم یک توضیح بدید ممنون


if (con.State == ConnectionState.Closed)
{
con.Open();
i = (int)com.ExecuteScalar();

taj3da
جمعه 24 اردیبهشت 1395, 11:29 صبح
???????????????????????????????

mrprestige
جمعه 24 اردیبهشت 1395, 12:49 عصر
اینم یک توضیح بدید ممنون


if (con.State == ConnectionState.Closed)
{
con.Open();
i = (int)com.ExecuteScalar();


سلام دوست من وقتت بخیر ، دستوری که نوشتی میگه اگه وضعیت کانکشن استرینگ بسته بود اون رو به حالت open ببره و دستور SqlCommand ( که در اینجا متغییر Com هست) رو بهش متد ExecuteScalar به صورت int پاس بده و بریز در متغییر i . خب متد ExecuteScalar چی هست ، ببین دوست من Connection دارای سه تا متد هست که من در پایین برات بطور ساده شده توضیح دادم تا راحتر متوجه بشی

1- Execute Scalar : یک Query رو اجرا میکنه و در ادامه صرفاً یک مقدار رو بر میگردونه ( نظیر شمارش تعداد رکورد های موجود در یک جدول بانک اطلاعاتی ).
2- ExecuteNonQuery : دستوراتی نظیر Update , Insert , Delete رو که باعث اعمال تغییرات در بانک اطلاعاتی میشه رو اجرا میکنه و تعدادسطر های تاثیر گرفته از اجرای دستور رو برمیگردونه .
3 - ExecuteReader : باعث خوندن رکوردهای موجود در بانک اطلاعاتی به صورت ترتیبی میشه .

پیروز و موفق باشی .

taj3da
یک شنبه 26 اردیبهشت 1395, 18:19 عصر
140444
140443

یک سوال دیگه

الان برای قسمت مشخصات جددول ساختم تو دیتابیس برای قسمت سوابق تحصیلی باید چیکار کنم چون امکان داره طرف چند تا سابقه تحصیلی داشته باشه و چند تا ردیف اضافه کنه چجوری باید جدول ساخته بشه که به همین طرف یا ایدی شماره یک ربط داشته باشه؟

taj3da
دوشنبه 27 اردیبهشت 1395, 13:46 عصر
کسی نبود؟؟؟؟

csharpcollegian
دوشنبه 27 اردیبهشت 1395, 13:53 عصر
سلام
یه جدول مجزا برای سوابق تحصیلی ایجاد کن و به کمک کلید خارجی دو جدول رو بهم مرتبط کن

pouya_team
یک شنبه 02 خرداد 1395, 14:30 عصر
سلام دوستان

وقتی میخوام اکسس رو به برنامم متصل کنم

وقت اجرا روی دکمه ای که گذاشتم برای اضافه کردن اطلاعات به اکسسم یه ارور میده





مشکلش کجاست؟؟؟؟؟؟؟؟؟؟؟؟؟

ممنون میشم کمکم کنید

ebrahim.rayatparvar
یک شنبه 02 خرداد 1395, 14:39 عصر
اسم پارامترها رو درست دادی؟؟؟

pouya_team
یک شنبه 02 خرداد 1395, 15:02 عصر
اسم پارامترها رو درست دادی؟؟؟

آره
مطمئنم که درست نوشتم

pouya_team
دوشنبه 03 خرداد 1395, 10:22 صبح
ببخشید نگفتید چیکار کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟:خجالت: :ناراحت::ناراحت::ناراحت: