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

نام تاپیک: دو تا INSERT

  1. #1
    کاربر دائمی آواتار shima2006
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    37
    پست
    339

    دو تا INSERT

    سلام
    من یک جدول در SQL SERVER 2005 دارم که سه تا از فیلداش از این قراره
    1- فیلد ID که Primery Key هست و به با استفاده از Identity مقدار دهی میشه
    2- فیلدID2 که Forigne Key هست و طبیعتا باید برحسب جدولی که با اون ارتباط داره مقدار دهی بشه
    3-فیلد Serial که یک شماره سریال که باید از 1000 شروع بشه و مثل فیلد Id هر بار یکی بهش اضافه شه

    من نمی دونم برای فیلد دوم و سوم چطوری باید دستور Insert رو بنویسم
    ضمنا من در کدی که در سی شارپ نوشتم یک دستور Inser دارم که بقیه فیلدها رو مقدار دهی می کنه ، شاید بهتر باشه که این دو تا Insert d یه جوری به با اون اولیه ادغام بشن!

    دستور INSERT فعلی که باید کامل بشه یا دو تا INSERT دیگه اضافه شه ، نمی دونم
    com.CommandText =
    "INSERT INTO automobile(kilometer,idsm,type,idcr,model,plaque,c hassis,motor,date)values('" + tkilometer.Text + "',N'" +csystem.SelectedValue + "','" +ttype.Text + "',N'" +ccolor.Text +"','"+tmodel.Text +"',N'"+tplaque.Text +"','"+tchassis.Text + "','" +tmotor.Text + "','"+lbldate.Text +"')";
    com.ExecuteNonQuery();l

    لطفا یک کم سریعتر بهم کمک کنید
    متشکرم

  2. #2
    کاربر دائمی آواتار shima2006
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    37
    پست
    339

    نقل قول: دو تا INSERT

    دوستان کسی نمی تونه به من کمک کنه؟؟؟؟

  3. #3

    نقل قول: دو تا INSERT

    برای فیلد سومت میتونی توی یک کوئری قبل از این٬ با گرفتن max٬ بزرگترین serial رو بگیری و یکی بهش اضافه کنی.
    که البته توی بحث موازی٬ یکی از بدترین روشهاست ولی فعلا کارت رو راه میندازه تا دوستان بیان و روشهای بهتر رو توضیح بدهند.
    برای فیلد اولت که خودش اضافه میشه.
    برای فیلد دومت هم خوب باید بر اساس فیلد اون یکی جدولت مقداری که میخوای رو بریزی.
    همش باید توی یک insert باشه.

  4. #4
    کاربر تازه وارد آواتار Sociant
    تاریخ عضویت
    آبان 1387
    محل زندگی
    اراک
    پست
    88

    نقل قول: دو تا INSERT

    کوئری Insert که تو تاپیک قبلیتون گذاشتم رو تست کردین؟

  5. #5
    کاربر دائمی آواتار shima2006
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    37
    پست
    339

    نقل قول: دو تا INSERT

    کوئری Insert که تو تاپیک قبلیتون گذاشتم رو تست کردین؟
    بله ولی من دقیقا نمیدونم چطوری باید تستش می کردم اون دستور که شما نوشته بودید شامل یک insert و دو تا Select بود که موقع اجرا سیستم پیغام میده که باید تعداد فیلدها و مقادیر مساوی باشه فکر کنم دلیلش هم این باشه که من value رو در Insert مشخص نکردم
    INSERT INTO automobile(serial,Extra)l
    در ضمن من اصلا نمی دونم این دستور رو چطوری بنویسم، یعنی سه تا رو دنبال هم بنویسم و در یک Com.commandtext بریزم؟ یا اینکه اون دو تا دستور Insert باید جدا نوشته بشن؟

  6. #6
    VIP
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: دو تا INSERT

    فیلد اول که درست ، ولی فیلد دوم و سوم چرا اسمش تو کوئری نیست؟
    فیلد سوم که روش مقدار گیریش رو تو پست 3 دوستان توضیح دادن.
    فیلد دوم:
    شما در این سناریو در ساده ترین حالت یک جدول master و یک جدول Detail دارین که ما داریم در مورد جدول Detail صحبت میکنم ، خوب برای اینکه یک رکورد به جدول Detail اضافه بشه باید شما اول در جدول master رکورد مورد نظر رو انتخاب کنید(در غیر این صورت معنی نداره) ، خوب حالا ID جدول Masterرو به عنوان مقدار ID2 در جدول Detail ثبت کنید.

  7. #7
    کاربر دائمی آواتار shima2006
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    37
    پست
    339

    نقل قول: دو تا INSERT

    کسی می تونه کدی که من در پست اول نوشتم رو کامل کنه؟؟؟
    یعنی این کد رو طوری تغییر بدید که فیلدهای ID & ID2 رو هم INSERT کنه....
    من واقعا خسته شدم انقدر با این دستور INSERT کلنجار رفتم

  8. #8
    کاربر دائمی آواتار shima2006
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    37
    پست
    339

    نقل قول: دو تا INSERT

    فیلد سوم که روش مقدار گیریش رو تو پست 3 دوستان توضیح دادن.
    فیلد دوم:
    شما در این سناریو در ساده ترین حالت یک جدول master و یک جدول Detail دارین که ما داریم در مورد جدول Detail صحبت میکنم ، خوب برای اینکه یک رکورد به جدول Detail اضافه بشه باید شما اول در جدول master رکورد مورد نظر رو انتخاب کنید(در غیر این صورت معنی نداره) ، خوب حالا ID جدول Masterرو به عنوان مقدار ID2 در جدول Detail ثبت کنید.
    باور کنید من همه اینها رو می دونم ولی نمی دونم این دستور یا کوئری رو چطوری باید بنویسم

  9. #9
    VIP
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: دو تا INSERT

    نقل قول نوشته شده توسط shima2006 مشاهده تاپیک
    باور کنید من همه اینها رو می دونم ولی نمی دونم این دستور یا کوئری رو چطوری باید بنویسم
    من نمیتونم باور کنم...

    Cnn.Open();
    Cmd1.CommandText = "SELECT Max(Tb_Book.ID) AS MaxOfID FROM Tb_Book;";
    int MaxId = (int)Cmd1.ExecuteScalar();
    Cmd2.CommandText = "INSERT INTO automobile(ID2,Serial,kilometer,idsm,type,idcr,mod el,plaque,c hassis,motor,date)values( " + "ID2" + "," + MaxId.ToString() + ",'" + tkilometer.Text + "',N'" + csystem.SelectedValue + "','" + ttype.Text + "',N'" + ccolor.Text + "','" + tmodel.Text + "',N'" + tplaque.Text + "','" + tchassis.Text + "','" + tmotor.Text + "','" + lbldate.Text + "')";
    Cmd2.ExecuteNonQuery();
    Cnn.Close();


    اگه کدهاتو تو تگ کد بنویسی من و دوستان راحتر میخونیمش.
    تو کد بالا اگه مقدار ID2 رو خودت سر جاش بنویسی درست میشه.

  10. #10
    کاربر دائمی آواتار shima2006
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    37
    پست
    339

    نقل قول: دو تا INSERT

    بالاخره درست شد
    متشکرم majid325

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

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