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

نام تاپیک: ذخیره طالاعات گرید در دیتابیس

  1. #1

    ذخیره طالاعات گرید در دیتابیس

    با سلام
    من یه گرید دارم که اطلاعات یک جدول رو توی اون ریختم و میخوام اطلاعات هر ردیف رو بدون اینکه اون ردیف تکراری باشه تو دیتا بیس درج کنم
    عمل درج رو تو حالت عادی انجام میدم ولی مشکل اینجاست که اگر کاربر ندونهو دکمه درج رو دوباره بزنه فیلد تکراری درج میشه
    میخوام یه شرط بزارم که چندتا فیلد رو بررسی کنه در صورت نبودن اونها درج رو انجام بده هر کاری می کنم شرطم درست کار نمیکنه لطفا راهنمایی کنید .
    for (int i = 0; i < dg1.Rows.Count - 1; i++)            {
    string cmd = "";
    QueryOfprg y = new QueryOfprg();
    string sel = "select * from test where pid ='" + dg1.Rows[i].Cells["pid"].Value + "' And Month= '" + Month.SelectedIndex + "' And year= '" + year.Text + "' ";


    if (sel.Count() < 0)
    {
    //textBox1.Text= "error";
    QueryOfprg n = new QueryOfprg();
    //,shogl,khedmat,nahiyeh,estekhdam
    // try
    // {
    cmd = "insert into test (PId,TimeKar,karkard,nobatkar,tatil , morakhasiS , Gheybat , Mamoriat " +
    " , MorakhasiE ,MorakhasiL,Keshik,EzafeA,EzafeT,Saier,Month,year) " +
    " values('" + dg1.Rows[i].Cells["PId"].Value + "'" +
    //,'" + dg1.Rows[i].Cells["shogl"].Value + "'" +
    //,'" + dg1.Rows[i].Cells["khedmat"].Value + "' " +
    // " , '" + dg1.Rows[i].Cells["nahiyeh"].Value + "' , '" + dg1.Rows[i].Cells["estekhdam"].Value + "'"+
    " , '" + dg1.Rows[i].Cells["TimeKar"].Value + "'" +
    " , '" + dg1.Rows[i].Cells["karkard"].Value + "'" +
    " , '" + dg1.Rows[i].Cells["nobatkar"].Value + "', '" + dg1.Rows[i].Cells["tatil"].Value + "'" +
    " , '" + dg1.Rows[i].Cells["morakhasiS"].Value + "', '" + dg1.Rows[i].Cells["Gheybat"].Value + "'" +
    " , '" + dg1.Rows[i].Cells["Mamoriat"].Value + "', '" + dg1.Rows[i].Cells["MorakhasiE"].Value + "'" +
    " , '" + dg1.Rows[i].Cells["MorakhasiL"].Value + "', '" + dg1.Rows[i].Cells["Keshik"].Value + "'" +
    " , '" + dg1.Rows[i].Cells["EzafeA"].Value + "', '" + dg1.Rows[i].Cells["EzafeT"].Value + "'" +
    " , '" + dg1.Rows[i].Cells["Saier"].Value + "', '" + Month.SelectedIndex + "' , '" + year.Text + "')";
    // }
    // catch
    // {


    // }
    n.insert(cmd);
    }
    else { MessageBox.Show("فیلد قبلا ثبت شده!", "خطا در مقادیر", MessageBoxButtons.OK, MessageBoxIcon.Stop); }


    }

  2. #2

    نقل قول: ذخیره از طالاعات گرید در دیتابیس

    یکبار خط به خط به روند کد دقت کنید. شما اصلا بررسی نکردید که سطری با اون اطلاعات وجود دارد یا نه(کوئری چک کردن را اجرا نکردید) در ضمن بهتره این کوئری را با exists بنویسید

    یا یک unique-constraints ایجاد کنید و روند کنترل را به عهده دیتابیس بگذارید
    https://docs.microsoft.com/en-us/sql...ck-constraints

  3. #3

    نقل قول: ذخیره از طالاعات گرید در دیتابیس

    stringsel = "select * from test where pid ='"+ dg1.Rows[i].Cells["pid"].Value + "' And Month= '"+ Month.SelectedIndex + "' And year= '"+ year.Text + "' ";
    اینجا بررسی کردم دیگه . مگه درست نیست ؟

  4. #4

    نقل قول: ذخیره از طالاعات گرید در دیتابیس

    سلام
    کلا اینطوری نوشتید
    string sel = "select * from test where pid ='" + dg1.Rows[i].Cells["pid"].Value + "' And  Month= '" + Month.SelectedIndex + "' And  year= '" + year.Text + "'  "; 

    if (sel.Count() < 0)

    یعنی کوئری اجرا نشده است تا نتیجه رو چک کنید فقط داخل شرط طول متغییر string چک میشه

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

  1. پاسخ: 2
    آخرین پست: پنج شنبه 11 تیر 1394, 16:11 عصر
  2. تبدیل دیتابیس فاكس پرو (FoxPro) به دیتابیس (SQL SERVER 2008) با پشتیبانی از زبان فارسی
    نوشته شده توسط majid_darab در بخش مسائل مرتبط با نصب و راه اندازی
    پاسخ: 9
    آخرین پست: سه شنبه 15 فروردین 1391, 16:14 عصر
  3. پاسخ: 1
    آخرین پست: چهارشنبه 02 شهریور 1390, 14:36 عصر
  4. پاسخ: 0
    آخرین پست: چهارشنبه 20 بهمن 1389, 16:56 عصر
  5. پاسخ: 2
    آخرین پست: چهارشنبه 17 آذر 1389, 20:08 عصر

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

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