انجمن‌های فارس وب

نسخه کامل: جلوگیری از ذخیره اطلاعات تکراری در بانك اطلاعاتي Access
شما در حال بازدید از بایگانی ارسال های انجمن هستید این نسخه کامل نیست : برای مشاهده نسخه کامل اینجا کلیک کنید
دوستان سلام

من یه فرم عضویت دارم که Profile کاربران بهمراه نام کاربری و کلمه عبور رو دریافت و توی دیتابیس ذخیره میکنه و همچنین از ورود نام کاربری تکراری جلوگیری میکنه .
حالا میخوم اگه نام کاربری تکرای بود به کاربر پیغام خطا بده و تا زمانی که Username تکراری باشه اطلاعات توی دیتا بیس ذخیره نشه .
لطفاً بگید چه کدهایی باید به برنامه زیر اضافه کنم ؟

Dim Conn As String = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|/Web_db.mdb;Persist Security Info=True")
            Dim Cmd As New OleDbCommand("INSERT INTO Users (FLname, Email, Uid, pwd, InDate, ActiveUser, CreditAcount, Post, Answer)VALUES('" & Label3.Text & "','" & txtAnswer.Value & "','" & Text4.Value & "','" & lblPass.Text & "','" & Label5.Text & "','" & Label4.Text & "','" & Label4.Text & "','" & Label8.Text & "','" & txtAnswer.Value & "' WHERE uid <> '" & Text4.Value & "')", New OleDbConnection(Conn))

            Cmd.Connection.Open()
                Cmd.ExecuteNonQuery()
                Cmd.Connection.Close()

شما می تونی از دو روش ساده استفاده کنی و البته هزار روش دیگه ...
یا بیا ابتدا User Name رو جدا چک کنی یعنی یه Query بنویسی که فقط چک کنه نام کاربریت تکراری هست یا نه اضافه هم نکنه اگه تکراری نبود اونوقت تازه Query مربوط به Insert انجام شه .
یا بیای و بخش Where داخل همین Query رو برداری و Username رو به عنوان کلید در نظر بگیری اون وقت کدت رو داخل Try / Catch بذاری و در بخش Catch پیغام بده که اسم تکراریه

البته مسلما همون طور که معلومه روش اول روش اصولی تریه .....
مرجع آدرس ها