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

نام تاپیک: نحوه ثبت یک فیلد در بانک . که 3 تاش باید اینسرت شه و 1 کی هم update

  1. #1

    Question نحوه ثبت یک فیلد در بانک . که 3 تاش باید اینسرت شه و 1 کی هم update

    سلام. دوستان ببینید من میخام که 4 مقدار رو ثبت کنم .
    name , family ,num ,sumNum
    خب حالا موضوع اینه که میخام مثلا یه بار رضا جمشیدی 10 10 ذخیره شه یه بار دیگه رضا جمشیدی 15 25 و به همین ترتیب یه نفر چندین بار ذخره میشه و لی فقط مقدار num تغییر میکنه . حالا نمیدونم اینطوری درسته یا نه .
    اما مشکل من حالا اینکه مقدار sumnum باید تغییر کنه و جمع همه مقدار ها تو یه فیلد ذخیره شه یعنی یه جور update حالا موضوع اینکه با اینسرت نمیخام فیلد sumnum اینسر شه و update شه یعنی اولین بار insert شد هی رو اگه ما 3 مقدار name ,family ,num رو اضافه کردیم فیلد sumnum فقط update شه چون میخام واسه کریستال ریپورت بکشمش بیرون . نمیدونم الان میدونید میخام چیکار کنم یا نه . اگه دوستان کل کارمو فهمیدن بهم کمک کنن . ممنون میشم.

  2. #2
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: نحوه ثبت یک فیلد در بانک . که 3 تاش باید اینسرت شه و 1 کی هم update

    سلام.
    خیر اینطوری غلطه.
    مراجعه شود به 1NF و 2NF در ویکیپدیا.
    شکل پیشنهادی برای این کا بدین صورته:
    جدول یک Person
    int ID
    char Name
    char LastName

    جدول دو Value:
    int ID
    int PersonID
    int Value

    جدول اول فقط یک سطر داره:
    ۱ رضا جمشیدی

    و جدول دو دو سطر:
    ۱ ۱ ۱۰
    ۲ ۱ ۱۵
    اینطوری میتونید در صورت تغییر اسم رضا جمشیدی این تغییر رو فقط یک بار ایجاد بکنید و از بروز خطا در صورت غلط املایی جلوگیری کنید.اتفاقات دیگه ای که میافته اینه که میتونید لیست افراد رو جدا داشته بایشد.با تکرار اسم افراد فضا اشغال نکنید و جمع رو هم ذخیره نکنید.
    فکر کردید اگر یک سطر در بالای جدول ویرایش بشه باید چکار با ستون جمع بکنید؟

    گزارش هم که میخواستید به این شکل در میاد:(@اونهایی که میگن چرا Join استفاده نکردی:خودش Optimize میشه)
    Select ID, Name, LastName,
    (Select Value from Value where Value.PersonID=Person.ID),
    (Select Sum(select Value from Value where Value.PersonID = Person.ID and Value.ID < Value2.PersonID) from Value As Value2 where Value2.PersonID = Person.ID)
    From Person

    طبق معمول با text editor نوشتم.(معلوم نیست کار بکنه.ولی راهش همینه.)

  3. #3

    نقل قول: نحوه ثبت یک فیلد در بانک . که 3 تاش باید اینسرت شه و 1 کی هم update

    ممنون .الان من چند تا سوال دارم
    پس الان تو جدول 1 من id ,name,family و در جدول 2 id , personid,Value قرار میگره ؟ خب حالا سوال
    1-. کد درج اطلاعات تو جدول اینجا چه شکلی میشه ؟ اگه بخام همه ی فیلد های بالا رو به دو جدول همزمان ارسال کنم؟

    2 - من باید چه relation هایی اینجا بزنم ؟

    3- کد updatesh و deletsh چه شکلی میشه؟ میشه کد های sql این Update,Delete,Insert رو برام بنویسید؟ ممنون

  4. #4

    نقل قول: نحوه ثبت یک فیلد در بانک . که 3 تاش باید اینسرت شه و 1 کی هم update

    در ضمن این خ کد شما چه معنی داره متوجه کدتون نشدم !!!
    من اینجوری نوشتم که فکر میکنم 100 در100 غلطه .
      string strinsert1 = string.Format("insert into tb values({0},'{1}','{2}')",txtpkid.Text, 
    txtname.Text, txtfamily.Text);

    string strinsert2= string.Format("insert into tb2 values({0},{})", txtpkid.Text,
    txtnum.Text);
    string str3 = strinsert1 + strinsert2;

    ارور میده >>
    Missing semicolon (;) at end of SQL statement.


    بچه ها اینو حتما بهم کمک کنید. ممنون میشم
    آخرین ویرایش به وسیله RIG000 : سه شنبه 13 اردیبهشت 1390 در 03:30 صبح

  5. #5
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: نحوه ثبت یک فیلد در بانک . که 3 تاش باید اینسرت شه و 1 کی هم update

    نقل قول نوشته شده توسط RIG000 مشاهده تاپیک
    در ضمن این خ کد شما چه معنی داره متوجه کدتون نشدم !!!
    من اینجوری نوشتم که فکر میکنم 100 در100 غلطه .
      string strinsert1 = string.Format("insert into tb values({0},'{1}','{2}')",txtpkid.Text, 
    txtname.Text, txtfamily.Text);

    string strinsert2= string.Format("insert into tb2 values({0},{})", txtpkid.Text,
    txtnum.Text);
    string str3 = strinsert1 + strinsert2;

    ارور میده >>
    Missing semicolon (;) at end of SQL statement.


    بچه ها اینو حتما بهم کمک کنید. ممنون میشم
    درسته.
    ۱۰۰٪ غلطه.

    relation بین Person.ID و Value.PersonID هست.
    برای درج ابتدا باید چک کنید که Perosn وجود داشته باشه.اگر نبود ثبت کنید.بعد کد Person یافته شده یا ثبت شده رو برای درج در جدول Value استفاده کنید.
    برای حذف هم فقط از جدول Value حذف میکنید.
    برای حذف از جدول Person چند گزینه دارید.
    ۱.دستی
    ۲.خودکار(وقتی تمام value های یک Perosn حذف شدند Person رو به شکل خودکار حذف کنید.)


    خواهش میکنم یک بار راهنمای دستور های Insert و Update و Delete رو در MSDN بخونید.
    و اون سه تا لینک رو انقدر بخونید تا توش هیچ ابهامی نباشه.(الکی که لینک نمیدم.حتماً مهمه)
    بهتون قول میدم که دیگه هیچ ابهامی براتون نمونه.

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

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