PDA

View Full Version : سوال: جلوگیری از ورود داده های تکراری در بانک



kafinetetaha
سه شنبه 23 آذر 1389, 12:16 عصر
با سلام خدمت دوستان عزیز من یه مشکل دارم خیلی هم در موردش جستجو کردم چیزی پیدا نکردم کدهایی هم که مینویسم بصورت زیر است بانکم هم اسکیول سروره لطفا راهنماییم کنی

If TextBox1.Text = "" Then
dr = msg.Show("ëںê کںéں ©ں يں©§ کëی§", "¢ي¤ى", , JntDefaultButton.DefaultButton1, JntIcon.Critical, JntPicture.Taraneh)
Exit Sub
End If
Try
Dim cmd As New SqlCommand
cmd.Connection = cn
cmd.CommandText = "Insert into listzn values(@name)"
cmd.Parameters.AddWithValue("@name", TextBox1.Text)
cn.Open()
cmd.ExecuteNonQuery()
cn.Close()


Catch ex As Exception
dr = msg.Show("ںیë کںéں ç éں £ ¢ ¬§ى ں«¢", "¢ي¤ى", , JntDefaultButton.DefaultButton1, JntIcon.Critical, JntPicture.Taraneh)

End Try

hossein_h62
سه شنبه 23 آذر 1389, 13:26 عصر
سلام
از عبارت Not Exists استفاده کنید، بطور مثال :


if not exists (select * from Table Where myfield = @parameter)
Begin
insert into ...

Rezahak
سه شنبه 23 آذر 1389, 14:26 عصر
خب در table با نام listzn یک index جدید که unique باشد برروی فیلد name بساز

حمیدرضاصادقیان
سه شنبه 23 آذر 1389, 14:43 عصر
خب در table با نام listzn یک index جدید که unique باشد برروی فیلد name بساز

با این روش باید دستور Execute رو در قالب یک try..catch قرار بده که اگر تکراری بود و خطابرگردانده شد سیستم دچار مشکل نشود. راه مناسب همان پست 2 هست.