نمایش نتایج 1 تا 6 از 6

نام تاپیک: دریافت مقدار فیلدIDENTITY پس از تولید

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1386
    محل زندگی
    teh
    سن
    41
    پست
    53

    Tick دریافت مقدار فیلدIDENTITY پس از تولید

    یه جدول داریم که یه فیلد IDENTITY داره. چطوری میتونم هر وقت یه رکورد وارد جدول کردم، مقدار این فیلد که تولید شده
    برای رکورد رو بدست بیارم.البته بدونید که این فیلد IDENTITY کلیده.و هیچ فیلد UNIQUE ی در جدولم ندارم.ممنون

  2. #2
    نقل قول نوشته شده توسط mohsenns5 مشاهده تاپیک
    یه جدول داریم که یه فیلد IDENTITY داره. چطوری میتونم هر وقت یه رکورد وارد جدول کردم، مقدار این فیلد که تولید شده
    برای رکورد رو بدست بیارم.البته بدونید که این فیلد IDENTITY کلیده.و هیچ فیلد UNIQUE ی در جدولم ندارم.ممنون
    به این شکل از کلمه کلیدی IDENTITY در انتهای کوئری استفاده کنید :

    INSERT INTO tblName(TextField, NumberField) VALUES(@Text, @Number) SELECT @@IDENTITY
    ...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست

  3. #3
    سلام
    از Scop_Identity() هم می توانید استفاده کنید .

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1386
    محل زندگی
    teh
    سن
    41
    پست
    53
    این تابع درجه:
    public void InsCompany(string CompanyName,string SherkatType,string Address,string Tel1,string Tel2,string Fax,string Mobile,DateTime Ttasis)
    {
    SqlCommand cmd = new SqlCommand();
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = "InsCompany";
    cmd.Parameters.AddWithValue("@CompanyName", CompanyName);
    cmd.Parameters.AddWithValue("@SherkatType", SherkatType);
    cmd.Parameters.AddWithValue("@Address", Address);
    cmd.Parameters.AddWithValue("@Tel1", Tel1);
    cmd.Parameters.AddWithValue("@Tel2", Tel2);
    cmd.Parameters.AddWithValue("@Fax", Fax);
    cmd.Parameters.AddWithValue("@Mobile", Mobile);
    cmd.Parameters.AddWithValue("@Ttasis", Ttasis);
    mycmd.Connection = myCn;
    if (myCn.State == ConnectionState.Closed)
    {
    myCn.Open();
    }
    mycmd.ExecuteNonQuery();
    myCn.Close();
    myCn.Dispose();
    }

    اینطوری پارامتر ها رو ارسال میکنم:
    InsCompany(txtName.Text.Trim(), txtType.Text.Trim(), txtAddress.Text.Trim(), txtTel1.Text.Trim(), txtTel2.Text.Trim(), txtFax.Text.Trim(), txtMob.Text.Trim(), mydatetime);

    پروسیجرم اینه:
    CREATE PROC [dbo].[InsCompany]
    @CompanyName nvarchar(50),
    @SherkatType nvarchar(50),
    @Address nvarchar(120),
    @Tel1 nvarchar(13),
    @Tel2 nvarchar(13),
    @Fax nvarchar(13),
    @Mobile nvarchar(13),
    @Ttasis smalldatetime
    as
    INSERT INTO [MMdb].[dbo].[TCompany]
    ([CompanyName]
    ,[SherkatType]
    ,[Address]
    ,[Tel1]
    ,[Tel2]
    ,[Fax]
    ,[Mobile]
    ,[Ttasis])
    VALUES
    (@CompanyName,
    @SherkatType,
    @Address,
    @Tel1,
    @Tel2,
    @Fax,
    @Mobile,
    @Ttasis)
    SELECT @@IDENTITY 'IDENTITY'

    چجوری این مقدار @@IDENTITY رو بدست بیارم؟
    ممنون

  5. #5
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629
    با سلام
    من از ('IDENT_CURRENT( 'tablename استفاده مى‌کنم.
    Identity@@ یه اشکال داره و اون هم اینه که اگه فرمان Insert شما به هر دلیلى اجرا نشه و یا این که Triggerاى داشته باشى که توى اون Trigger مثلاً یک سطر به جدول Log شما اضافه کنه، مقدار Identity@@ شما مربوط به جدول دیگرى خواهد بود و شما رو گمراه مى‌کنه.
    به همین دلیل استفاده از تابعى که نام جدول رو مى‌گیره دقیق‌تره.

    صبا صبوحى

  6. #6
    شاید اینجا جاش نباشه ولی اگر تو یه جدولی که دیتیل یه جدول دیگه هست یه فیلد دیگه رو به ترتیب پر کنیم چیکار کنیم مثالش اینه که مثلا فیلد id کلید جدول اصلی و دیتیل ما هست علاوه بر اون فیلد tartib رو هم میخواهیم در جدول دیتیل بر اساس ردیفهای جدول مستر پر کنیم چه جوری میشه توی جدول اینو تعریف کرد؟

تاپیک های مشابه

  1. حذف identity
    نوشته شده توسط حمیدرضاصادقیان در بخش SQL Server
    پاسخ: 2
    آخرین پست: پنج شنبه 04 بهمن 1386, 17:07 عصر
  2. آگاهی از مقدار Identity
    نوشته شده توسط ehsane در بخش SQL Server
    پاسخ: 4
    آخرین پست: یک شنبه 08 بهمن 1385, 22:49 عصر
  3. یه مشکل خیلی عجیب در استفاده از @@identity
    نوشته شده توسط javad3151 در بخش SQL Server
    پاسخ: 3
    آخرین پست: شنبه 16 دی 1385, 14:43 عصر
  4. جا انداختن عدد در IDENTITY
    نوشته شده توسط iran400 در بخش SQL Server
    پاسخ: 3
    آخرین پست: چهارشنبه 10 آبان 1385, 23:22 عصر
  5. اینزرت و فیلدهای Identity
    نوشته شده توسط faramarz_s در بخش SQL Server
    پاسخ: 1
    آخرین پست: سه شنبه 12 اسفند 1382, 00:44 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •