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

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

  1. #1

    Post کم کردن مقدار از یک فیلد

    سلام دوستان من برنامه ای با C#‎‎ و بانک اکسس نوشتم حالا میخوام وقتی یک جنس فروخته میشه از مقدار کلش تو اکسس کم بشه این دستورم نوشتم ولی eror میده لطفا کمک کنید
    try
    {
    int b = int.Parse(fi.Text);
    int a = int.Parse(maj.Text);
    maj.Text = (a + b).ToString();
    dataGridView1.Rows.Add(code.Text, name.Text, fi.Text);
    //باقی مانده
    OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12. 0;Data Source=" + Application.StartupPath + "\\Lebas.accdb");
    OleDbCommand cmd = new OleDbCommand("", con);
    string a1 = "Update lebas set num =num-" + 1.ToString() + "where code=" + code.Text;
    cmd.CommandText = a1;
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
    }
    catch
    {
    MessageBox.Show(" مشکلی روی داده دوباره امتحان کنید", "Eror");
    }
    آخرین ویرایش به وسیله sirmohsen : جمعه 04 اسفند 1391 در 14:57 عصر

  2. #2
    کاربر دائمی آواتار ferankyy
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    خونه
    پست
    277

    نقل قول: کم کردن مقدار از یک فیلد

    شما ابتدا باید مقدار فیلد داخل جدول رو select کنی و در ادامه ازش کم کنی و دوباره Update کنید .

  3. #3

    نقل قول: کم کردن مقدار از یک فیلد

    من نمیفهمم دستور selecto کجا بنویسم میشه کد منو ویرایش کنید

  4. #4
    کاربر دائمی آواتار ferankyy
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    خونه
    پست
    277

    نقل قول: کم کردن مقدار از یک فیلد

          try      
    {
    int b = int.Parse(fi.Text);
    int a = int.Parse(maj.Text);
    maj.Text = (a + b).ToString();
    dataGridView1.Rows.Add(code.Text, name.Text, fi.Text);
    //باقی مانده
    OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12. 0;Data Source=" + Application.StartupPath + "\\Lebas.accdb");
    OleDbCommand cmd = new OleDbCommand("", con);
    string a1="Select num From leabs where code="+code;
    cmd.CommandText=a1;
    con.Open();
    int cuurval=int.Parse(cmd.ExecuteScalar());
    cuurval-=1;
    a1 = "Update lebas set num ="+cuurval+" where code=" + code.Text;

    cmd.CommandText = a1;
    con.Close();
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
    }
    catch
    {
    MessageBox.Show(" مشکلی روی داده دوباره امتحان کنید", "Eror");

    }

  5. #5

    نقل قول: کم کردن مقدار از یک فیلد

    این syntax eror میده int cuurval=int.Parse(cmd.ExecuteScalar()); این قسمت اشتباهه

  6. #6
    کاربر دائمی آواتار ferankyy
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    خونه
    پست
    277

    نقل قول: کم کردن مقدار از یک فیلد

    int.Parse رو بردار

  7. #7

    نقل قول: کم کردن مقدار از یک فیلد

    بازم همون ایرادو داره

  8. #8

    نقل قول: کم کردن مقدار از یک فیلد

    در برنامه هاي حسابداري فيلدي بنام موجودي در جدول ديتا بيس ايجاد نميشه . اين فيلد در اثر جمع و تفريق فاكتورهاي خريد و فروش از كالاي خاص طي دوره با انضمام موجودي اول دوره بصورت فيلد واسط ظاهر ميشه.
    كدهايي رو كه نوشتيد لطفا داخل تگ مربوطه (#C) قرار بديد ، طوريكه شما نوشتيد خيلي ناخوانا و نا منظم هستند

  9. #9

    نقل قول: کم کردن مقدار از یک فیلد

                try
    {
    int b = int.Parse(fi.Text);
    int a = int.Parse(maj.Text);
    maj.Text = (a + b).ToString();
    dataGridView1.Rows.Add(code.Text, name.Text, fi.Text);
    //باقی مانده
    OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12. 0;Data Source=" + Application.StartupPath + "\\Lebas.accdb");
    OleDbCommand cmd = new OleDbCommand("", con);
    string a1 = "Update lebas set num =num-" + 1.ToString() + "where code=" + code.Text;
    cmd.CommandText = a1;
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
    }
    catch
    {
    MessageBox.Show(" مشکلی روی داده دوباره امتحان کنید", "Eror");
    }

  10. #10

    نقل قول: کم کردن مقدار از یک فیلد

    من قبلا تو sql این کارو کردم نمیدونم چرا تو اکسس نمیشه

  11. #11
    کاربر دائمی آواتار ferankyy
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    خونه
    پست
    277

    نقل قول: کم کردن مقدار از یک فیلد

    int cuurval=int.Parse(cmd.ExecuteScalar().ToString());

  12. #12

    نقل قول: کم کردن مقدار از یک فیلد

    syntax یر طرف شد
    ولی کار نمیکنه بازم run time میده

  13. #13

    نقل قول: کم کردن مقدار از یک فیلد

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

  14. #14

    نقل قول: کم کردن مقدار از یک فیلد

    من اینکارو کردم دستور سلکت رو هم همونطور که گفتن وارد کردم ولی برنامه باز eror میده

  15. #15
    کاربر دائمی آواتار cherchil_hra
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    پست
    162

    نقل قول: کم کردن مقدار از یک فیلد

    نقل قول نوشته شده توسط sirmohsen مشاهده تاپیک
    سلام دوستان من برنامه ای با C#‎‎‎‎‎‎‎ و بانک اکسس نوشتم حالا میخوام وقتی یک جنس فروخته میشه از مقدار کلش تو اکسس کم بشه این دستورم نوشتم ولی eror میده لطفا کمک کنید
    try
    {
    int b = int.Parse(fi.Text);
    int a = int.Parse(maj.Text);
    maj.Text = (a + b).ToString();
    dataGridView1.Rows.Add(code.Text, name.Text, fi.Text);
    //باقی مانده
    OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12. 0;Data Source=" + Application.StartupPath + "\\Lebas.accdb");
    OleDbCommand cmd = new OleDbCommand("", con);
    string a1 = "Update lebas set num =num-" + 1.ToString() + "where code=" + code.Text;
    cmd.CommandText = a1;
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
    }
    catch
    {
    MessageBox.Show(" مشکلی روی داده دوباره امتحان کنید", "Eror");
    }

    نیاز به دو کار نیست:
    1. استفاده از دستور select، برای اینکه اول مقدار رو بدست بیاری و بعد یکی ازش کم کنی و بعد از اون در Update استفاده کنی
    2. یکی هم 1.ToString()

    شما داخل دستور Update این کار رو انجام بده:
    UPDATE Lebas SET num=num-1 WHERE code=1;


    دوتا پیشنهاد:
    1.موقع استفاده از try catch اول خودت خطاها رو ببین چیه (بفهمی سمت db مشکل هست یا برنامه)، بعد اگه نخواستی کار خاصی روی خطاها انجام بدی یک پیغام کلی بذار! مثلا اینجا شما نمی دونی err که بهت میده چیه.

    2.دستورات Sql رو با استفاده از پارامترها ایجاد کن و یا از String.Format استفاده کن تا رشته ای که در کد دیده و ایجاد میشه خواناتر و کم خطاتر بشه

    مثلا:
    String.Format("UPDATE Lebas SET num=num-{0} WHERE code={1}", tedad, code)


    موفق باشید!

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

  1. تعریف کردن مقدار اولیه برای یک فیلد
    نوشته شده توسط mostafa612003 در بخش SQL Server
    پاسخ: 2
    آخرین پست: یک شنبه 22 مهر 1386, 12:53 عصر
  2. پیدا کردن مقدار آخرین فیلد
    نوشته شده توسط bad_boy_2007 در بخش SQL Server
    پاسخ: 3
    آخرین پست: یک شنبه 14 مرداد 1386, 09:18 صبح
  3. وارد کردن مقدار ثابت در 500 رکورد ار یک فیلد
    نوشته شده توسط hossein.e در بخش SQL Server
    پاسخ: 8
    آخرین پست: دوشنبه 26 دی 1384, 10:35 صبح
  4. پاسخ: 4
    آخرین پست: جمعه 09 دی 1384, 22:58 عصر
  5. درخواست کمک برای جمع کردن مقدار دو فیلد
    نوشته شده توسط babak869 در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: شنبه 22 اسفند 1383, 08:42 صبح

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

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