PDA

View Full Version : سوال: نمایش مقدار یک فیلد از نوع identity



missleili
شنبه 07 آذر 1394, 17:34 عصر
با سلام . من یک فیلد identity در جدولم دارم . که هر بار می خوام عملیات درج رو انجام بدم به طور خودکار بهش یکی اضافه میشه و داخل جدول درج میشه . حالا من می خوام امکانی رو به فرمم اضافه کنم که هر بار کاربر اومد بالا ، داخل فرم درج ، فیلد code که همون فیلد identity هست رو با مقداری که قراره الان در داخل جدول درج بشه ببینه ( یعنی مقدار جدید که می خواد موقع زدن دکمه داخل جدول ثبت بشه ) . ممنون میشم راهنمایی کنید چه طور این کار را انجام بدم

محمد رضا فاتحی
شنبه 07 آذر 1394, 17:50 عصر
سلام می تونید بر حسب نام فیلدتون مثلا id ماکزیمم مقدارش رو بدست بیارید و یکی بهش اضافه کنید

مثلا:

SqlConnection con=new SqlConnection("MySTR");
string command = "select max(id) from tbl";
SqlCommand com=new SqlCommand(command,con);
con.Open();
textBox1.Text = (int.Parse(com.ExecuteScalar().ToString()) + 1).ToString();
con.Close();

kh-emami
شنبه 07 آذر 1394, 17:55 عصر
با سلام دوست عزیز
منظورتون رو خوب متوجه نشدم اخرین فیلد Identity رو میتونی از این تابع بدست بیاری SCOPE_IDENTITY()
بعد از درج رکورد در جدول شما اخرین کد یا همان Identity رو در اختیار داری.
قبل از درج رکورد هم میتونی اخرین مقدار وارد شده رو بدست بیاری با توجه به اینکه شما در ابتدا برای اضافه کردن Identity ها در جدول چه تنظیمی انجام داده ایی (در بیشتر مواقع +1 است ) بعد به این اخرین مقدار بدست امده از جدول مثلان همان یک واحد را اضافه نموده و با این کار می توانید متوجه شوید بعد از درج رکورد مقدار چه عددی خواهد شد.
امیدوارم متوجه شده باشید

missleili
یک شنبه 08 آذر 1394, 00:41 صبح
ممنونم از پاسخ تون . این دستورات رو باید کجا بنویسم دقیقا؟

Mahmoud.Afrad
یک شنبه 08 آذر 1394, 02:09 صبح
select IDENT_CURRENT('tablename')+IDENT_INCR('tablename')

missleili
یک شنبه 08 آذر 1394, 18:56 عصر
select IDENT_CURRENT('tablename')+IDENT_INCR('tablename')

خیلی ممنونم . از راهنمایی دوستان . اما جواب نداد :(
من از sp استفاده می کنم .از تابعی که می نویسم باید در تابع form load استفاده کنم آیا ؟

AmiN0012
یک شنبه 08 آذر 1394, 22:18 عصر
long Max_De_Id()
{
long Resualt = 0;
try
{
Resualt = Mydb.ScalarCommand("select Max(De_Id) from EntryDetails");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Resualt++;
return Resualt;