PDA

View Full Version : سوال: اضافه کردن فرد به لیست که ...



karim orooji
چهارشنبه 07 اسفند 1387, 11:11 صبح
سلام به دوستان گلم


زمانی که در برنامه ثبت که میخواهیم فردی به بانک خود اضافه کنیم
شماره ردیف فردی قبلی ما 5بوده چطور میشه که با زن دکمه اضافه کردن نفر جدید شماره ردیف آن بشه 6 انگار با هر با زدن دکمه add یکی به شماره ردیف فرد قبلی اضافه بشه برای فرد جدید البته نمایش اطلاعات ما با دیتا گردید میباشد و سپس در بانک ذخیره شود.

عکس هم ضمیمه شد



با تشکر

anooshiran
جمعه 09 اسفند 1387, 00:36 صبح
سلام دوست عزيز

چون دقيقا نمي دانم با چه DataBase كار مي كني . فرض را براين گذاشتم كه Dabase ات SQL است





PrivateSub btnFindLastSerialNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFindLastSerialNo.Click
Dim sqlCon AsNew SqlClient.SqlConnection("Integrated Security=SSPI;Data Source=.")
Dim sqlCom AsNew SqlClient.SqlCommand("", sqlCon)
sqlCom.CommandText = "SELECT MAX (YourSerialSerialCode) FROM Database.dbo.TableName"
Dim SerialNo = 0
If sqlCom.ExecuteScalar Is DBNull.Value Then
SerialNo = 1
Else
SerialNo = sqlCom.ExecuteScalar() + 1
EndIf
EndSub


با Select Max مي تواني بالاترين مقدار يك فيلد را در يك ستون جدول بدست بياوري و بعد عدد يك را به آن اضافه كني كه ميشود شماره سريال جديدت

MOSTAFANAVVAB
پنج شنبه 25 تیر 1388, 08:30 صبح
من مشکلی شبیه این مشکل دارم ولی با این تفاوت که من میخواهم فیلدای دیگر هم سلکت کنم که دیتا تیبل در جایی که میخواهد با اداپتر فیل بشه ارور میده

چکنم؟

mortezamhd
پنج شنبه 25 تیر 1388, 10:23 صبح
من هم از روشي كه anooshiran گفت استفاده ميكنم ولي يك مشكلي هستشما مثلا 10 تا ركورد داري بعد 3تاي آخر رو حذف ميكني بعد كه ميخواي يك ركورد جديد ايجاد كني عدد Id كه تو برنامه نوشتيم ميشه 8 كه بايد بشه 11 ( البته اين عدد كاري به بانك نداره و بانك عدد خودشو ثبت ميكنه ). براي اين مشكل چه كار بايد كرد . راهنمايي كنيد

mortezamhd
پنج شنبه 25 تیر 1388, 10:31 صبح
MOSTAFANAVVAB ميشه بيشتر توضيح بدي كه ميخواي چه كار كني ؟

mahmood3d
پنج شنبه 25 تیر 1388, 11:05 صبح
سلام
mortezamhd (http://barnamenevis.org/forum/member.php?u=98920) عزیز برای حل مشکل شما باید افزایش این شمارش رو بر عهده خود دیتابیس بگذارید. برای این کار فیلدی که می خوای به طور خودکار شماره بخوره باید از نوع Int باشه و توی خصوصیات اون Identity اون فیلد رو فعال کنی. توی اس کیو ال 2005 و 2008 این خصوصیت به نام Identity Specification هست که زیر مجموعه اون باید is identity رو true کنید.
Identity Increment مقدار افزایش اعداد رو مشخص می کنه یعنی چند تا چند تا به عدد قبلی اضافه کنه.
Identity seed هم مقدار پایه رو شروع می کنه برای مثال اگر می خواهید اعداد از 1000 شروع بشه عدد 1000 رو تو این بخش می نویسین.
توی ورژن های مختلف sql توی خصوصیات فیلد بگردید همین خصوصیت وجود داره ولی شاید با اسم دیگه ولی کلمه identity توی این خصوصیت هست.
توی دیتابیس mysql هم برای این کار به فیلد مورد نظر خصوصیت Auto Incriment رو می دید تا این عمل انجام بشه.
توی دیتابیس Access هم نوع داده Auto number رو باید به فیلد مورد نظرتون بدید.

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

karim orooji
پنج شنبه 25 تیر 1388, 11:38 صبح
سلام مرتضي
توي برنامه حسابداري مصالح فروشي كه نوشتم
كه نرم افرارشو بهت دادم هست
يك جستجو بكني پيداش ميكني