+1 امتیاز

با سلام

میخوام قبل ثبت چک بشه که:

هر نفر در یکسال فقط می تواند حاوی یک نفره باشه.... (مثلا کد پرسنلی 100 در سال 1396 دارای نمره 85 هست. حال اگه کاربر به اشتباه برای کد پرسنلی 100 در سال 1396 باز نمره داد سیستم پیغام هشدار بده) در غیر اینصورت ثبت بشه...

پایگاه داده من sql هست.

کد های من:

  private void insert_click(object sender, EventArgs e)
        {
            try
            {
                if (tids.Text != string.Empty && tyear.Text != string.Empty && taverage.Text != string.Empty)
                {

                    SqlConnection con = new SqlConnection(Connection);
                    /* OleDbCommand com = new OleDbCommand("INSERT into arzeshyabi ([tid],tyear,taverage) values('" + tids.Text + "','" + tyear.Text + "')", con);*/

                    SqlCommand com = new SqlCommand("Insert Into arzeshyabi ([tid],tyear,taverage) Values (@tid,@tyear,@taverage)", con);

                    com.Parameters.AddWithValue("@tid", tids.Text);
                    com.Parameters.AddWithValue("@tyear", tyear.Text);
                    com.Parameters.AddWithValue("@taverage", taverage.Text);

                    con.Open();
                    com.ExecuteNonQuery();
                    con.Close();
                    BindGrid();
                    FarsiMessageBox.MessageBox.Show("پیام", "اطلاعات با موفقیت ثبت شد", FarsiMessageBox.MessageBox.Buttons.OK, FarsiMessageBox.MessageBox.Icons.Information);

                    tids.Text = "";
                    tyear.Text = "";
                    taverage.Text = "";
                }
                else
                {

                    MessageBox.Show("همه مقادیر را پر کنید", "خطا");

                }
            }
            catch
            {
                MessageBox.Show("کارمندی با این کد پرسنلی ثبت نشده است");
            }

        }

 

2 پاسخ

+2 امتیاز
سلام دوست عزیز __من روشش رو میگم تست کن اگه نتیجه نداد بگو برات بفرستم ایتدا یه تابع تعیین کن که اون فیلد رو چک کنه بعد اون تابع رو بیار ابتدای کدهات که حین درج اون عدد مقایسه کنه اگه وجود داشته پیام بدی یا یه کاری انجام بده
تلگرام نشناخت

09149234809 به این لطفا یه پیام بدین

ممنون
توسط (102 امتیاز) 3

پروژه رو براتون ارسال کردم امیدوارم نتیجه بگیرید

 int createuser = p.GetYear(DateTime.Now);//الان سال 96 هست وقتی ثبت رو بزنی توی دیتابیس 96 خواهد بوذ
       int datee =int.Parse(tyear.Text);
            
            if (datee < p.GetYear(DateTime.Now))//این تا زمانیکه سال 97 نشه نمره ثبت نمیکنه
            {
                try
                {
                    if (tids.Text != string.Empty && taverage.Text != string.Empty)
                    {

                        SqlConnection con = new SqlConnection(Connection);
                        /* OleDbCommand com = new OleDbCommand("INSERT into arzeshyabi ([tid],tyear,taverage) values('" + tids.Text + "','" + tyear.Text + "')", con);*/

                        SqlCommand com = new SqlCommand("Insert Into arzeshyabi ([tid],tyear,taverage) Values (@tid,@tyear,@taverage)", con);

                        com.Parameters.AddWithValue("@tid", tids.Text);
                        com.Parameters.AddWithValue("@tyear", createuser);
                        com.Parameters.AddWithValue("@taverage", taverage.Text);

                        con.Open();
                        com.ExecuteNonQuery();
                        con.Close();
                        BindGrid();
                        FarsiMessageBox.MessageBox.Show("پیام", "اطلاعات با موفقیت ثبت شد", FarsiMessageBox.MessageBox.Buttons.OK, FarsiMessageBox.MessageBox.Icons.Information);

                        tids.Text = "";
                       // tyear.Text = "";
                        taverage.Text = "";
                    }
                    else
                    {

                        MessageBox.Show("همه مقادیر را پر کنید", "خطا");

                    }
                }
                catch
                {
                    MessageBox.Show("کارمندی با این کد پرسنلی ثبت نشده است");
                }
               
            }
            
            else
            {
                MessageBox.Show("قبلا ثبت شده است");
                tids.Text = "";
                tyear.Text = "";
                taverage.Text = "";
                return;

            }

 

توسط (7,164 امتیاز) 4 7 141
+1 امتیاز

در ورود امتیاز اگر سال جاری باشه قبول نمیکنه ولی اگه یک سال گذشته امتیاز ثبت میشه

ضمنا کاشکن استرینگ رو یه تغییرات جزیی دادم

این از محیط اجرای برنامه گرفتم

http://www.namasha.com/v/Ml2XvMXh

https://www.aparat.com/v/rsV6K

منا این کد رو هم بزار توی لود فرم همین صفحه

  tyear.Text = p.GetYear(DateTime.Now.AddDays(-365)).ToString();

پروژت یه قسمت کم داره اونم ذخیره نامه هست اگه قرار باشه یه فایل یا یه نامه براشون پیوست کنی باید این قسمت رو هم اضافه کنی
توسط (7,164 امتیاز) 4 7 141
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,919 کاربر

دسته بندی ها

...