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

نام تاپیک: مشکل در جلوگیری از ورود اطلاعات تکراری(فوری)

  1. #1
    کاربر دائمی آواتار komeil64
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    سن
    38
    پست
    618

    مشکل در جلوگیری از ورود اطلاعات تکراری(فوری)

    سلام
    من یه قسمت ثبت نام درست کردم و کدی نوشتم که از ورود اطلاعات تکراری جلوگیری کنه
    خطایی نمی گیره
    ولی چه تکراری باشه و چه نباشه اضافه می کنه و 4 تا فیلد خالی هم بعدش اضافه میکنه
    البته فکر کنم کردم خیلی ضایعه ولی اگر لطف کنید کمک کنید


    string FilePath1;
    FilePath1 = MapPath("~/App_Data/db.mdb");
    OleDbConnection odcon1 = new
    OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " +
    "Data Source=" + FilePath1);
    odcon1.Open();
    OleDbCommand olcom2 = new OleDbCommand("select uname,pass,name,email from tbluser", odcon1);
    OleDbDataReader dr2 = olcom2.ExecuteReader(CommandBehavior.CloseConnecti on);
    {
    while(dr2.Read())
    {
    if (TextBox1.Text != dr2.GetString(1))
    {
    string FilePath2;
    FilePath2 = MapPath("~/App_Data/db.mdb");
    OleDbConnection odcon2 = new
    OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " +
    "Data Source=" + FilePath2);
    odcon2.Open();

    OleDbDataAdapter oled1 = new OleDbDataAdapter("select uname,pass,name,email from tbluser", odcon2);
    OleDbCommand olcom1 = new OleDbCommand("insert into tbluser(uname,pass,name,email) values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "')", odcon2);
    olcom1.ExecuteNonQuery();
    Label1.Text = "اطلاعات شما در سایت ثبت شد در صورتی که قصد خرید دارید حتما باید لاگین نمایید";
    TextBox1.Text = "";
    TextBox2.Text = "";
    TextBox3.Text = "";
    TextBox4.Text = "";
    TextBox5.Text = "";

    odcon2.Close();
    }
    else
    {
    Label1.Text = "نام کاربری تکراری است نام جدیدی را وارد نمایید";
    }
    }dr2.Close();

    odcon1.Close();}

    خنده داره نه؟

  2. #2
    پیشنهاد من اینه که Query اول رو به صورت زیر تغییر بده

    "SELECt uname FROM tbluser WHERE uname="+TextBox1.Text
    این طوری اگر این نام کاربری موجود باشه فقط یک رکورد در دیتا ریدر موجوده و با یک دستور شرط ساده میشه کار رو تموم کرد و به WHILE نیازی نیست!

    if (dr2.Read())
    {کاربر وجود دارد}
    else
    {عملیات Insert}

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

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