View Full Version : خواندن مقدار فيلد Autonumber
rezamahdizadeh
شنبه 01 تیر 1387, 17:16 عصر
من يك جدول دارم كه يك فيلد AutoNumber دارد. بعد از insert كردن مي خواهم مقدار اين فيلدي كه Autonumber است براي اين ركورد insert شده چيست؟ ممكن است چندين كاربر ركورد insert كنند.
mzjahromi
شنبه 01 تیر 1387, 17:25 عصر
ُSelect @@identity from tablename
این کد رو بلافاصله بعد از Insert اجرا کنید
اصغر (پآچ)
دوشنبه 03 تیر 1387, 01:25 صبح
ُSelect @@identity from tablename
این کد رو بلافاصله بعد از Insert اجرا کنید
سلام دوست عزیزم آقای جهرمی
این کد بلافاصله بعد از Insert اجرا باید بشه یا بعد از Post؟
SYNDROME
دوشنبه 03 تیر 1387, 07:01 صبح
اگر به روش زیر رکورد اضافه می کنم.
ADO.Insert;
.......
ADO.Post;
بعد از عمل Post مقدار AutoNumber را با ADO می توان بخوانی.
ADO.FieldByName('AutoNumber').Asinteger;
موفق باشید
rezamahdizadeh
سه شنبه 04 تیر 1387, 08:34 صبح
اين احتمال وجود دارد كه بين زمان Post و خواندن مقدار فيلد AutoNumber مطابق كد شما يك يا چند ركورد ديگر در همين جدول توسط كاربران ديگر ثبت شوند. آيا اين در اينصورت نيز درست جواب مي دهد؟
Vahid_moghaddam
سه شنبه 04 تیر 1387, 09:53 صبح
می تونید از این هم استفاده کنید. بعد از insert :
select SCOPE_IDENTITY()
تفاوتش با
ُSelect @@identity
در اینجا (http://weblogs.sqlteam.com/travisl/archive/2003/10/29/405.aspx) گفته شده.
AFTABGARDAN2006
سه شنبه 04 تیر 1387, 10:57 صبح
این روش ممکنه در لحظه های مختلف درست کار نکنه یه راهی که من استفاده کردم اینه که
در بانکم یه فیلد به عنوان GUID ساختم که در هنگام ثبت یک GUID در اون قرار می دم و بعد از ثبت کردن بر اساس اون کدGUID رکورد مورد نظر رو پیدا می کنم
rezamahdizadeh
سه شنبه 11 تیر 1387, 07:46 صبح
ميشه چگونه اين مقدار فيلد AutoNumber ركورد مورد نظر را با GUID مي خواني؟
AFTABGARDAN2006
سه شنبه 11 تیر 1387, 15:06 عصر
ببینید اول باید یکی فیلد در بانک شما باشه که در آن بتونید یک GUID ذخیره نمایید سپس هنگام ثبت اطلاعات آن را پر کنید و بعد از ثبت آن مقدار را در بانک جستجو نمایید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.