PDA

View Full Version : سوال: تولید اعداد پشت سر هم در سی شارپ



mamad55
دوشنبه 04 شهریور 1392, 01:18 صبح
سلام من دارم یه دفترچه تلفن مینویسم . از روش dataset برای برقراری ارتباط با پایگاه داده استفاده کردم . مشکلم اینکه ایدی یه فرد به صورت اتوماتیک و پشت سر هم وارد بشه ( مثلا اولیش 1 باشه بعد 2 بعد 3 و.....) . از طریق دیتابیس از IDENTITY انجام میدم اوکیه ولی یه نفر که پاک میشه از دیتابیس شمارش آیدیش میمونه یعنی من مثلا فردی با آیدی 4 رو پاک میکنم و فردی بعد این ایجاد میکنم آیدیش میشه 5 و توی ستون آیدی ک باید پشت سر هم نشون بده میزنه 1,2,3,5 . در واقع باید بزنه 1,2,3,4 و آیدی اونی که پاک شده توی شمارش کلا حذف بشه و یا برای نفر بعدی بشه . ممنون میشم اگه بگید چی کار کنم درست بشه. البته می خوام با بسته شدن نرم افزار و باز شدن دوباره نرم افزار این عدد ثابت باقی بمونه مثلا 10 بود با بسته شدن دوباره باز کردن 10 بمونه

m_ali_gho
دوشنبه 04 شهریور 1392, 01:26 صبح
این مساله قبلا هم تو این تاپیک (http://barnamenevis.org/showthread.php?415475-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%B4%D9%85%D8%A7%D8%B1%D9%87-%D8%B1%D8%AF%DB%8C%D9%81-%D8%AF%D8%B1-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3) بحث شده سرش. فیلد Identiy رو نه میشه مقدار داد و نه Update کرد. اون تاپیک رو بخون اگه بازم سوالی بود سعی میکنم اگه بتونم کمک کنم

mamad55
دوشنبه 04 شهریور 1392, 02:47 صبح
ممنون بابتی راهنمایی . مشکلم تا حدودی حل شد

یه چیز دیگه اینکه کاربر اگه بخواد یه نفرو حذف کنه باید شماره آیدی اون فرد رو وارد کنه . چطوری شماره آیدی هامو با شماره ردیف هام ست کنم ؟ مثلا شماره ردیفیش الان 3 هستش ولی آیدیش 7 هستش . چی کار کنم ایدی هم با شماره ردیف یکی بشه

من از کد

dataGridView1.Rows[e.RowIndex].Cells[0].Value = e.RowIndex + 1;

استفاده کردم

m_ali_gho
دوشنبه 04 شهریور 1392, 03:00 صبح
قرار نیست چنین اتفاقی بیافته. اونجا هم توضیح دادم. تو گریدویو یک ستون درست میکنی که ID رو تو خودش نگه میداره (نه شماره ردیف) . و این ستون رو مخفی هم میکنی. شما هر وقت که میخوای چیزی رو حذف کنی از محتویات اون ستون استفاده میکنی.

mamad55
دوشنبه 04 شهریور 1392, 03:23 صبح
کاربر قراره حذف کنه . وقتی کاربر نتونه آیدی رو ببینه چطوری میتونه حذفش کنه ؟؟؟؟؟. (برای حذف باید آیدی شخص رو بدی)

m_ali_gho
دوشنبه 04 شهریور 1392, 03:29 صبح
مگه اطلاعات رو دیتا گریدویو نمیزاری؟ مگه کاربر از همونجا یعنی از داخل دیتا گرید ویو یکی از سطر ها رو برای حذف انتخاب نمیکنه؟ اینجوری که شما گفتین من احساس کردم مثلا یه textbox هستش که کاربر میاد id اون سطری رو که میخواد حذف بشه رو مینویسه و بعدش دکمه حذف رو میزنه. کدوم حالت رو تو برنامت استفاده میکنی؟ DataGridView یا TextBox?

mamad55
دوشنبه 04 شهریور 1392, 04:04 صبح
(((کاربر میاد id اون سطری رو که میخواد حذف بشه رو مینویسه و بعدش دکمه حذف رو میزنه))) من این کارو کردم