ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





صفحه 1 از 3 123 آخرین
نمایش نتایج: از 1 به 10 از 23
  1. #1
    تاریخ عضویت
    2019/04/22
    نوشته ها
    18
    0
    Junior Member

    Question ارسال اطلاعات یک فرم به دو جدول در دیتابیس

    درود و خداقوت همگی
    کلی تو نت سرچ کردم و کلی اموزش دیدم و کلی سورس دانلود کردم ولی نتونستم پیش برم
    من یک برنامه ساده دارم (عملیات Insert) به درستی کار می کند ولی فقط به یک جدول ارسال میشود.
    میخوام اطلاعات شناسنامه را از فرم شناسنامه به جدول Contact و اطلاعات کارت ملی رو از فرم کارت ملی به جدول KartMeli ارسال کنم

    ولی هرکاری میکنم فقط میتونم اطلاعات رو به یک جدول (Contact) ارسال کنم (شیوه ارسال اطلاعات به جداول جداگانه و ارتباط بین جداول را علارغم تلاش های بسیار هنوز یاد نگرفتم)
    اگر امکانش هست برنامه را بررسی کنید و در این زمینه راهنمای ام کنید (در صورت امکان به شیوه کد نویسی من راهنمایی ام کنید)
    سپاس
    لینک دانلود برنامه



    تصاویر برنامه
    1. فرم اطلاعات شناسنامه
    01 - ارسال اطلاعات یک فرم به دو جدول در دیتابیس

    2. فرم اطلاعات کارت ملی
    02 - ارسال اطلاعات یک فرم به دو جدول در دیتابیس

    3. محیط دیتابیس
    03 - ارسال اطلاعات یک فرم به دو جدول در دیتابیس


    اطلاعات برنامه:
    ویژوال استودیو 2015
    سی شارپ
    دیتابیس اس کیو ال اکسپرس (بانک اطلاعاتی رو با خود برنامه ویژوال استودیو 2015 ساختم)
  2. #2
    تاریخ عضویت
    2017/11/22
    نوشته ها
    117
    74
    Moderator
    سلام...برای جدول کارت ملی فیلد ID رو بذار رو Auto Increment مثل جدول Contact ببین درست میشه.
  3. #3
    تاریخ عضویت
    2019/04/22
    نوشته ها
    18
    0
    Junior Member
    نقل قول نوشته اصلی توسط AmRo نمایش پست ها
    سلام...برای جدول کارت ملی فیلد ID رو بذار رو Auto Increment مثل جدول Contact ببین درست میشه.
    سپاسگزارم بابت پاسخ دادن شما، این کارو کردم ولی بازم نشد، من فکر میکنم از نوع نوشتن دکمه Insert من هست



    این دکمه Insert من هست

    public bool Insert()
    {
    string command = "INSERT into [Contact] (Name,NameKhanevadegi,Jensiat,ShomarehMeli,TarikhT avalod) values (@Name,@NameKhanevadegi,@Jensiat,@ShomarehMeli,@Ta rikhTavalod)";
    List<SqlParameter> parametersList = new List<SqlParameter>();

    // اطلاعات شناسنامه
    var NameParameter = new SqlParameter("@Name", this.Name);
    var NameKhanevadegiParameter = new SqlParameter("@NameKhanevadegi", this.NameKhanevadegi);
    var JensiatParameter = new SqlParameter("@Jensiat", Jensiat.ToString());
    var ShomarehMeliParameter = new SqlParameter("@ShomarehMeli", this.ShomarehMeli);
    var TarikhTavalodParameter = new SqlParameter("@TarikhTavalod", Convert.ToDateTime(TarikhTavalod));


    // شناسنامه
    parametersList.Add(NameParameter);
    parametersList.Add(NameKhanevadegiParameter);
    parametersList.Add(JensiatParameter);
    parametersList.Add(ShomarehMeliParameter);
    parametersList.Add(TarikhTavalodParameter);


    var db = new DataAccess.DatabaseManager();
    var result = db.ExecuteCommand(command, parametersList);
    return result;








    //======= مشکل من این هست که میخوام اطلاعات شناسنامه و کارت ملی در دو جدول جداگانه درج بشن
    //======= و ارتباط بین آنها آیدی باشد، زمانی که میخوام یک سطر را در دیتاگرید ویوو حذف کنم همزمان همه اطلاعات مربوط به اون آیدی در تمامی جداول دیتابیس حذف شوند


    // اینجا مشکل دارم، نمیدونم چطوری باید اطلاعات زیر رو به جدول کارت ملی ارسال کنم
    string command2 = "INSERT into [KartMeli] (SerialKartMeli_KartMeli,NoeKartMeli) values (@SerialKartMeli_KartMeli,@NoeKartMeli)";
    List<SqlParameter> parametersList2 = new List<SqlParameter>();


    // کارت ملی
    var SerialKartMeli_KartMeliParameter = new SqlParameter("@SerialKartMeli_KartMeli", this.SerialKartMeli_KartMeli);
    var NoeKartMeliParameter = new SqlParameter("@NoeKartMeli", NoeKartMeli.ToString());


    // کارت ملی
    parametersList2.Add(SerialKartMeli_KartMeliParamet er);
    parametersList2.Add(NoeKartMeliParameter);




    var db2 = new DataAccess.DatabaseManager();
    var result2 = db2.ExecuteCommand(command2, parametersList2);
    return result2;
    }
  4. #4
    تاریخ عضویت
    2017/11/22
    نوشته ها
    117
    74
    Moderator
    والا من برنامه رو تست کردم...موقع اضافه کردن به جدول کارت ملی exception میده که مربوط به فیلد ID هستش. میگه نمیتونه null باشه.
  5. #5
    تاریخ عضویت
    2019/04/22
    نوشته ها
    18
    0
    Junior Member
    نقل قول نوشته اصلی توسط AmRo نمایش پست ها
    والا من برنامه رو تست کردم...موقع اضافه کردن به جدول کارت ملی exception میده که مربوط به فیلد ID هستش. میگه نمیتونه null باشه.


    عصر بررسی میکنم خبرتون میکنم



    بازم سپاسگزارم
  6. #6
    تاریخ عضویت
    2019/04/22
    نوشته ها
    18
    0
    Junior Member
    نقل قول نوشته اصلی توسط AmRo نمایش پست ها
    والا من برنامه رو تست کردم...موقع اضافه کردن به جدول کارت ملی exception میده که مربوط به فیلد ID هستش. میگه نمیتونه null باشه.
    سپاسگزارم

    بله شما درست می گفتید، اصلاح کردم

    حالا برای حذف اطلاعات همزمان یک شخص درون دو جدول مشکل دارم



    کد Delete من اینگونه هست

    مشکل اینجاست که با کدپائین فقط اطلاعات جدول Contact حذف میشود و اطلاعات موجود در جدول کارت ملی باقی می مانند


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public bool Delete()
    {
    string command = @"delete from [Contact] where ID=@id
    delete from [KartMeli] where IdKartMeli=@IdKartMeli";


    List<SqlParameter> parametersList = new List<SqlParameter>();
    var idParameter = new SqlParameter("@id", this.ID);
    var IdKartMeliParameter = new SqlParameter("@IdKartMeli", this.IdKartMeli);
    parametersList.Add(idParameter);
    parametersList.Add(IdKartMeliParameter);


    var db = new DataAccess.DatabaseManager();
    var result = db.ExecuteCommand(command, parametersList);
    return result;
    }

  7. #7
    تاریخ عضویت
    2017/11/22
    نوشته ها
    117
    74
    Moderator
    برای اجرای چند تا کوئری باید اونا رو با ; از هم جدا کنی.
    این کدو تست کن ببین کار میکنه یا نه...اگه exception داد متن خطاشو اینجا بذار بررسی کنیم.
    کد:
    public bool Delete()
    {
    try
    {
    string command = @"delete from [Contact] where ID=@id;" + 
    @"delete from [KartMeli] where IdKartMeli=@IdKartMeli";
    
    
    List<SqlParameter> parametersList = new List<SqlParameter>();
    var idParameter = new SqlParameter("@id", this.ID);
    var IdKartMeliParameter = new SqlParameter("@IdKartMeli", this.IdKartMeli);
    parametersList.Add(idParameter);
    parametersList.Add(IdKartMeliParameter);
    
    
    var db = new DataAccess.DatabaseManager();
    return db.ExecuteCommand(command, parametersList);
    }
    catch (Exception ex)
    {
    Debug.WriteLine(ex.Message);
    return false;
    }
    }
  8. #8
    تاریخ عضویت
    2019/04/22
    نوشته ها
    18
    0
    Junior Member
    سپاسگزارم مهندس

    کاری که گفتید انجام دادم ولی بازم نشد

    اینم اسکرین شات از برنامه

    05 - ارسال اطلاعات یک فرم به دو جدول در دیتابیس









    با اجازه برنامه رو آپلود کردم، اگر امکانش هست یه نگاه بهش بندازید ممنون میشم، خیلی عذاب آور شده

    لینک دانلود برنامه
  9. #9
    تاریخ عضویت
    2017/11/22
    نوشته ها
    117
    74
    Moderator
    دو تا جدول شما با هیچ فیلدی به هم مرتبط نشدن....یعنی نمیتونی با حذف یک contact اطلاعات شماره ملی رو هم حذف کنی....به نظرم جدولت رو اینطوری طراحی کنی راحت تره.
    جدول Contacts:

    • Id
    • Name
    • NameKhanevadegi
    • Jensiat
    • TarikhTavalod
    • IdKartMeli


    جدول KartMeli:

    • IdKartMeli
    • SerialKartMeli_KartMeli
    • NoeKartMeli

    اگه اینطوری درست کنی می تونی موقع حذف یک contact با استفاده از IdKartMeli اطلاعات مربوط به کارت ملی رو برای اون contact حذف کنی.
  10. #10
    تاریخ عضویت
    2019/04/22
    نوشته ها
    18
    0
    Junior Member
    نقل قول نوشته اصلی توسط AmRo نمایش پست ها
    دو تا جدول شما با هیچ فیلدی به هم مرتبط نشدن....یعنی نمیتونی با حذف یک contact اطلاعات شماره ملی رو هم حذف کنی....به نظرم جدولت رو اینطوری طراحی کنی راحت تره. جدول Contacts:
    • Id
    • Name
    • NameKhanevadegi
    • Jensiat
    • TarikhTavalod
    • IdKartMeli

    جدول KartMeli:
    • IdKartMeli
    • SerialKartMeli_KartMeli
    • NoeKartMeli

    اگه اینطوری درست کنی می تونی موقع حذف یک contact با استفاده از IdKartMeli اطلاعات مربوط به کارت ملی رو برای اون contact حذف کنی.


    بله گفته شما درست هست من هیچگونه پیوندی ایجاد نکرده بودم، تست میکنم و نتیجه رو خدمتتون میگم

    سپاسگزارم
صفحه 1 از 3 123 آخرین
نمایش نتایج: از 1 به 10 از 23

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

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