بدست آوردن آخرین مقدار فیلد Identity در یک جدول
سلام، خسته نباشید
بنده میخواهم آخرین مقدار فیلد Identity در جدول را بدون insert کردن بدست بیارم ....
از این کد استفاده کردم اما با جدول خالی مشکل داره
SELECT IDENT_CURRENT('tbl_kest')
شما راه حلی سراغ دارید ؟؟
خیلی ممنون
نقل قول: بدست آوردن آخرین مقدار فیلد Identity در یک جدول
فکر کنم اگر از تابع MAX استفاده کنی جواب بده
نقل قول: بدست آوردن آخرین مقدار فیلد Identity در یک جدول
نقل قول:
نوشته شده توسط
Tiam121
فکر کنم اگر از تابع MAX استفاده کنی جواب بده
خیر، MAX جواب نمیده ... اگر جدول خالی باشه Null برمیگردونه ... در صورتی که Identity مثلا باید 10 باشد ....
نقل قول: بدست آوردن آخرین مقدار فیلد Identity در یک جدول
نقل قول: بدست آوردن آخرین مقدار فیلد Identity در یک جدول
نقل قول:
نوشته شده توسط
matin.soft
خودم از همین روش IDENT_CURRENT اما خوب فایده نداشت .... با جدول خالی (Identity Null) مشکل داره و مقدار Seed رو برمیگردونه
نقل قول: بدست آوردن آخرین مقدار فیلد Identity در یک جدول
اینو امتحان کنید ...
SELECT IsNull(IDENT_CURRENT( 'TableName' ),0) + 1 as CurrentIdentity
نقل قول: بدست آوردن آخرین مقدار فیلد Identity در یک جدول
نقل قول:
نوشته شده توسط
Mr.Programmer
خیر، MAX جواب نمیده ... اگر جدول خالی باشه Null برمیگردونه ... در صورتی که Identity مثلا باید 10 باشد ....
اگه از این کد استفاده کنی در صورت خالی بودن جدول دچار مشکل می شوید :
int intIdt = db.Users.Max(u => u.UserId);
چاره کار استفاده از این دستور هست که در صورت خالی بودن جدول مشکلی پیش نیاد ::لبخند:
int? intIdt = db.Users.Max(u => (int?)u.UserId);
نقل قول: بدست آوردن آخرین مقدار فیلد Identity در یک جدول
نقل قول:
نوشته شده توسط
khokhan
اگه از این کد استفاده کنی در صورت خالی بودن جدول دچار مشکل می شوید :
int intIdt = db.Users.Max(u => u.UserId);
چاره کار استفاده از این دستور هست که در صورت خالی بودن جدول مشکلی پیش نیاد ::لبخند:
int? intIdt = db.Users.Max(u => (int?)u.UserId);
خیلی ممنون
اگه میشه روش ADO.Net هم بگید چطوریه ...
Max برای Identity هم جواب میده ؟؟ فکر کنم اگه جدول خالی باشه مقدار Null برگردونده میشه و نمیشه مقدار Identity رو گرفت . . .
نقل قول: بدست آوردن آخرین مقدار فیلد Identity در یک جدول
نقل قول:
نوشته شده توسط
مهدی اسماعیلی
اینو امتحان کنید ...
SELECT IsNull(IDENT_CURRENT( 'TableName' ),0) + 1 as CurrentIdentity
این درسته ... اما مشکل اینه که اگر مقدار Identity برابر Null باشه IDENT_CURRENT مقدار Seed که 1 هست را بر میگردونه و جواب 2 میشه :افسرده:
نقل قول: بدست آوردن آخرین مقدار فیلد Identity در یک جدول
نقل قول:
نوشته شده توسط
Mr.Programmer
خیلی ممنون
اگه میشه روش ADO.Net هم بگید چطوریه ...
Max برای Identity هم جواب میده ؟؟ فکر کنم اگه جدول خالی باشه مقدار Null برگردونده میشه و نمیشه مقدار Identity رو گرفت . . .
.................................................. .............................:لبخند:
SELECT MAX(date)
FROM mydate
HAVING COUNT(*) > 0
یا
select ident_current('table_name')