View Full Version : خواندن مقدار یک فیلد autonumber رکورد جدید بعد از Post
rezamahdizadeh
جمعه 30 فروردین 1387, 09:01 صبح
من بعد از Post کردن یک رکورد جدید که درای فیلد autonumber است بلافاصله می خواهم مقدار آن فیلد را داشته باشم لازم بذکر است که این کارها در داخل یک transaction انجام می شود. چه کار باید بکنم؟
dkhatibi
جمعه 30 فروردین 1387, 13:11 عصر
مگر بلافاصیه مقدار اونو ندارید.
فیلد اوتونامبر بلافاصله بعد از سکرول قادر به خوانده شدن است!
متد FieldByName
rezamahdizadeh
جمعه 30 فروردین 1387, 16:55 عصر
مگر بلافاصیه مقدار اونو ندارید.
فیلد اوتونامبر بلافاصله بعد از سکرول قادر به خوانده شدن است!
متد FieldByName
مقدار فیلد رکورد جدید قادر به خوانده شدن نیست امتحان کنید
SYNDROME
جمعه 30 فروردین 1387, 17:01 عصر
مقدار فیلد رکورد جدید قادر به خوانده شدن نیست امتحان کنید
شاید LockType مربوط به ADO دارای چه مقداری است؟
زمانی که شما داخل یک Transation عملیات خود را انجام می دهید مقدار قیلد AutoNumber تولید می شود.
موفق باشید
rezamahdizadeh
شنبه 31 فروردین 1387, 08:21 صبح
LockType دارای مقدار ltBatchOptimistic است اگر امکان دارد کد بعد از Post را بنویسید نام فیلد autonumber برابر SId است.
SYNDROME
شنبه 31 فروردین 1387, 21:21 عصر
LockType دارای مقدار ltBatchOptimistic است اگر امکان دارد کد بعد از Post را بنویسید نام فیلد autonumber برابر SId است.
دوست عزیز به خاطر اینکه Locktype را برابر ltBatchOptimistic قرار دهید هر عملیاتی که در ADO انجام دهید در بانک ذخیره نمی شود و بنابراین چون شما Insert می کنید و اطلاعات ADO به بانک ارسال نمی شود پس مقدار AutoNumber هم در ADO قرار نمی گیرد.
مقدار LockType را برابر ltOptimistic قرار دهید . بعد از عمل Post اطلاعات مقدار AutoNumber را به شکل زیر به دست آورید.
Var
Tmp : Integer;
..
..
Tmp := ADO.FieldByName('SId').AsInteger
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.