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

نام تاپیک: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

  1. #1

    کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    (من از Access براي DataBase استفاده می کنم )
    برنا مم در مورد ترمينال اتوبوس هست من تو يکي از فرم هام اول اتوبوس ها رو ثبت مي کنم که يکي از گزينه هاش ظرفيت هست که موقع ثبت هر اتوبوس يه تعداد ظرفيت هم بايد براش ثبت کنم حالا تو يه فرم ديگه که دارم يعني رزرو بليط من وقتي يه بليط رزرو کردم مي خوام 1 دونه از تعداد اون ظرفيت کم بشه مثلا اگه من ظرفيت رو موقع ثبت 70 زدم يه بليط که رزرو کردم بار دوم بنويسه 69 ، من يه Button گزاشتم رو فرم رزرو بليط مي خوام روش کليک کردم تعداد ظرفيت باقيمانده رو بنويسه .

  2. #2

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    بهتره در داخل جدوالتون اين موضوع را قرار بديد، يعني موقعي كه يك اتوبوس براي سفر داخل برنامه قرار مي‌گيره علاوه بر مقصد و راننده و ... يك فيلد عددي ظرفيت هم داشته باشه و به ازاي هر مسافري كه رزرو مي كنه يكي از اين ظرفيت كم بشه و مجدد ظرفيت جديد ذخيره شه
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  3. #3

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    دوست عزیز من کدشو نیاز دارم توضیح هم دادم برنامم به چه شکل هست کسی بتونه با توجه به توضیحاتی که دادم راهنمایی کنه که چه کدهایی و چطوری استفاده کنم ممنون می شم و باید کلا چی کار کنم

  4. #4
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    نقل قول نوشته شده توسط T_E_X_A_S مشاهده تاپیک
    دوست عزیز من کدشو نیاز دارم توضیح هم دادم برنامم به چه شکل هست کسی بتونه با توجه به توضیحاتی که دادم راهنمایی کنه که چه کدهایی و چطوری استفاده کنم ممنون می شم و باید کلا چی کار کنم
    شما در دیتابیس توضیح ندادید که چه جداولی دارید. ولی باید جدولهای زیر را داشته باشید.

    1- اتوبوسهای( شماره اتوبوس ، ظرفیت و ....)
    2- فروش بلیط( شماره اتوبوس، تاریخ، تعداد بلیط فروخته شده)

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

  5. #5

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    شما چرا همش توضیح فارسی می دید

    کد هایی که باید به کار ببرمو توضیح بدید و باید چه کار کنم

  6. #6

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    دوست عزيز وقتي كسي ساختار فيلدهاي و جداول برنامه شما را نميدونه، و شما هم اونها رو نميگيد چطور انتظار داريد كدي براي جدولي كه نمي دونيم چيه بنويسيم؟
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  7. #7

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    ساختارش به این شکل هست :

    برای فرمی که اتوبوس ثبت می شه

    1 - اتوبوس (کد ماشین ,نوع ماشین,تاریخ ساخت,پلاک,ظرفیت)



    اینم عکس فرم رزرو بلیطم هست می بینید من یه Button گزاشتم می خوام روش بزنم تعداد فیلد ظرفیت تو دیتا بیس اتوبوس رو نشون بده . البته باید یه کاری کنیم که هر یه بلیطی که رزرو شد یکی از اون تعداد ظرفیت کم شه

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

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    نقل قول نوشته شده توسط T_E_X_A_S مشاهده تاپیک
    شما چرا همش توضیح فارسی می دید

    کد هایی که باید به کار ببرمو توضیح بدید و باید چه کار کنم
    ببين دوست عزيز ، اين جوري كه نميشه كمكي به شما كرد...
    بايد يه توضيح كوچيكي درباره روش كار با داده هات بگي كه ما بدونيم به چه روشي بهت بگيم،براي كار با ديتا چندين روش هست با چندين آبجكت.
    شما بايد بگي از ديتاست استفاده ميكني يا هر چيز ديگه اي كه ما با همون بهت بگيم، اصلا برنامه در شبكه هست يا نه(اين خيلي مهم هست)،
    در كل همون جوري كه اطلاعات رو ثبت ميكني بايد موقع ثبت، اطلاعات مربوط به مقدار ظرفيت رو با مقدار (مقدار فيلد ظرفيت - 1) آپديت كني.

  9. #9

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    من که گفتم DataBasam اکسس هست و از اون استفاده می کنم فیلد هاشم بالا گفتم تحت شبکه اینا هم نیست دیگه چی رو بگم ؟ می خواین اصلا برنامه رو بزارم ؟

  10. #10
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    نقل قول نوشته شده توسط T_E_X_A_S مشاهده تاپیک
    شما چرا همش توضیح فارسی می دید

    کد هایی که باید به کار ببرمو توضیح بدید و باید چه کار کنم
    چه انتظار نابجایی دارید! شما هنوز در اصلی ترین مفاهیم برنامه نویسی و پایگاه داده لنگ می زنید، بهتر قبل از هر کاری یک کتاب خوب بخوانید و تمرین هاش را حل کنید، چون این چیزهایی که شما می خواهید در همه کتابها بررسی شده اند.

  11. #11

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    این کد کجاش اشتباس :

                OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0  ;Data Source=mytable.mdb");
    OleDbCommand cmd = new OleDbCommand();
    OleDbDataReader dr;
    con.Open();
    cmd.Connection = con;
    dr = cmd.ExecuteReader();
    dr.Read();
    int menha = int.Parse(dr.GetValue(5).ToString());
    menha = menha - 1;
    this.Text = menha.ToString();
    cmd.CommandText = "UPDATE mytable SET ظرفيت = '" + menha.ToString() + "' WHERE نوع_ماشين = '" + comboBox1.SelectedItem.ToString() + "'";
    dr.Close();
    con.Close();

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

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    چه error ي ميده ؟
    چند تا پيشنهاد:
    سعي كن اسمهاي فيلد ها رو انگليسي انتخاب كني.
    سعي كن با ديتاست كار كني.

    در نگاه كلي كه من اشتباه syntax ي نميبينم ولي اونجور كه تو اين كد من ميبينم چند مسئله مبهم هست:
    اول ببخشيد كه اگه بعضي از مسائل پايه اي رو عنوان ميكنم.
    هميشه مد نظر داشته باش كه كدت به ترتيب ، خط به خط اجرا ميشه:
    شما زماني كه از اين كد dr = cmd.ExecuteReader(); استفاده ميكنيد يعني ميخواين فراميني كه يه وسيله اين كد :
    cmd.CommandText = "UPDATE mytable SET ظرفيت = '" + menha.ToString() + "' WHERE نوع_ماشين  = '" + comboBox1.SelectedItem.ToString() + "'";

    صادر كردين اجرا بشن ، خوب در اين حالت اول بايد فرامين صادر بشن و بعد كد اجرا بشه كه شما بر عكس انجام ميدي و اتفاقي نميفته ، حالا اگه من منظور كد شما رو خوب متوجه نشدم شما بگو كه ميخواي با قطعه كد بالا چي كار رو انجام بدي؟

  13. #13
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بچه اشکور شهرستان رودسر
    سن
    47
    پست
    243

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    دوست عزیر اقای تکزاس راه حل پست بالایی دقیقا" درست است لطفا" اجرا و نتیجه را مشاهده فرمایید.
    شما به یک شی اول مقدار می دهید بعد از ان کار می خواهید کد زیر را قبل از dr.close()ببری درست می شود

    dr = cmd.ExecuteReader();
    dr.Read();


  14. #14

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    نقل قول نوشته شده توسط majid325 مشاهده تاپیک
    چند تا پيشنهاد:
    سعي كن اسمهاي فيلد ها رو انگليسي انتخاب كني.
    سعي كن با ديتاست كار كني.
    در مورد پيشنهاد اول من هم با شما موافقم، البته بهتره انگليسي باشه و فينگليش نباشه
    در مورد پيشنهاد دومتون ميشه دليلتون رو بفرماييد؟
    چرا DataSet؟
    آخرین ویرایش به وسیله razavi_university : جمعه 15 آذر 1387 در 00:57 صبح
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  15. #15

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    این کدی که گزاشتم هیچ ارروری نمی ده فقط عمل نمی کنه من یه:

    MessageBox.Show(menha.ToString());
    گزاشتم زیر کد :

    this.Text = menha.ToString();
    وقتی رو دکمه می زنم تو اون پیغامی که می ده کم می کنه ولی نمی دونم چرا تو دیتا بیس تغییری ایجاد نمی شه .

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

    با این کد می خوام از تو دیتا بیس از یکی از فیلد هاش یه عدد کم کنم وقتی رو این دکمه کلیک می شه

  16. #16

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    يكي از مشكلاتي كه با فيلدهاي فارسي در هنگام توسعه براتون پيش مياد تفاوت در كد پيج ها مختلف در ويندوزهاي مختلف است، مثلا در حرف ي كه حالتهاي مختلفي دارد ي - ی
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  17. #17

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    کسی نیست کمک کنه بگه کجای کد های من اشتباس ؟

  18. #18
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران - بچه اشکور شهرستان رودسر
    سن
    47
    پست
    243

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    نقل قول نوشته شده توسط T_E_X_A_S مشاهده تاپیک
    کسی نیست کمک کنه بگه کجای کد های من اشتباس ؟
    کد زیر باید کار کند

    OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=mytable.mdb");
    OleDbCommand cmd = new OleDbCommand();
    OleDbDataReader dr;
    con.Open();
    cmd.Connection = con;
    ////////////////////////////
    int menha = int.Parse(dr.GetValue(5).ToString());
    menha = menha - 1;
    this.Text = menha.ToString();
    cmd.CommandText = "UPDATE mytable SET ظرفيت = '" + menha.ToString() + "' WHERE نوع_ماشين = '" + comboBox1.SelectedItem.ToString() + "'";

    //////////////////////////


    dr = cmd.ExecuteReader();
    dr.Read();
    dr.Close();
    con.Close();

  19. #19

    نقل قول: کم شدن ارقام پس از هر بار ثبت شدن در DataBase

    آقا این کدی که شما نوشتی این Error رو می ده

    Error 1 Use of unassigned local variable 'dr'


    به این خطم گیر می ده :

    int menha = int.Parse(dr.GetValue(5).ToString());

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

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