PDA

View Full Version : مبتدی: مشکل در قسمت ویرایش و کارکتر تکراری برنامه #C



miladiri
سه شنبه 17 فروردین 1395, 05:39 صبح
سلام
من یه برنامه دفترچه تلفن دارم مینویسم که به دو مشکل بر خوردم.
توی این برنامه قسمت های جستجو - حذف - ثبت رو نوشتم و بلدم.ولی دو مشکل من:

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

2 - برای قسمت ثبت من کد ثبت در دیتابیس رو نوشتم و بخوبی کار میکه ولی یه مشکلی هست اونم اینکه اگه کاربر یه کد شناسایی تکراری وارد کنه برنامه بسته میشه (Stop).چطوری میتونم کاری کنم که اگه کاربر یه کد تکراری بده.یه پیام بده که کد تکراری هستش.برای قسمت حذف هم همینطور(یعنی که کد شناسایی وجود نداشت پیغام بده).
در کل بگم که میخوام یه شرط واسه دستورات پایگاه داده بزارم.

از پایگاه داده اکسس استفاده میکنم نسخه 2010

دوستان ممنون میشم کمکم کنید.

night-wolf
سه شنبه 17 فروردین 1395, 06:18 صبح
با سلام

فرض رو بر این میگیریم که شما میخواین اطلاعات رو از فرم 1 به فرم 2 در داخل تکست باکس ها انتقال بدید
در پاسخ به پرسش اولتون باید بگم که شما اولا نگفتید که اطلاعات رو از چه طریقی نمایش میدین؟دیتاگریدویو؟ اگر بله خاصیت modifiers دیتاگرید ویوو رو برابر public قرار بدید

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

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

در فرم 2 که میخواین اطلاعات رو ببینیم اینطور مینویسیم


Form1 s = new Form1();
textbox1.text = s.datagridview[0,s.dataGridview1.CurrentCell.RowIndex].Value.ToString();
textbox2.text = s.datagridview[1,s.dataGridview1.CurrentCell.RowIndex].Value.ToString();
و.......

و در قسمت باتن ویرایش فرم 1 که کلیک کردنی فرم 2 میاد این کد رو مینویسیم


Form2 f = new Form2();
f.Show();
Form1_Load(null,null);


سوال دوم هم کدهارو تو دستور Try Catch بذار مثلا اینطور :

try
{
دستورتو اینجا بنویس دستور ثبت
{
catch(exception ex)
{
اگه اررور داد یا تکراری بود اینجا بگو تکراریه اینطوری
messagebox.show("کد تکراری می باشد");
}