سلام
من هم این روش رو استفاده کردم :
Connection.Open()
ad = New SqlDataAdapter("select * from Table1 where Catgory='" & TextBox1.Text & "'", Connection)
Dim ds2 As New DataSet
ad.Fill(ds2, "Table1")
If ds2.Tables(0).Rows.Count = 0 Then
Dim cmd As New SqlCommand("Insert into Table1 (Catgory) Values(@p1)", Connection)
cmd = New SqlCommand("IF EXISTS(SELECT * FROM yourTableName WHERE id=@id) SELECT 1 ELSE SELECT 0", Connection)
If Connection.State = ConnectionState.Closed Then Connection.Open()
With cmd
.Parameters.Clear()
.Parameters.AddWithValue("@p1", TextBox1.Text.Trim)
.ExecuteNonQuery()
End With
ElseIf ds2.Tables(0).Rows.Count <> 0 Then
ExpandablePanel1.Text = "نام کاربر تکراری است"
ExpandablePanel1.Expanded = True
Timer1.Enabled = True
Exit Sub
End If
هم این روش :
If ExistRecord("Catgory") Then
If Connection.State <> ConnectionState.Open Then
Connection.Open()
Dim cmd As New SqlCommand("Insert into Table1 (Catgory) Values(@p1)", Connection)
If Connection.State = ConnectionState.Closed Then Connection.Open()
With cmd
.Parameters.Clear()
.Parameters.AddWithValue("@p1", TextBox1.Text.Trim)
.ExecuteNonQuery()
End With
'ExpandablePanel1.Expanded = True
'ExpandablePanel1.Text = "اطلاعات با موفقيت ذخيره شد"
'Timer1.Enabled = True
TextBox1.Clear()
'Connection.Close()
MsgBox("شخص مورد نظر با موفقيت ثبت شد", MsgBoxStyle.Information)
Else
MsgBox("فردي با نام وارد شده قبلاً درپايگاه داده ثبت شده است", MsgBoxStyle.Exclamation)
End If
البته در مورد کد دوم هر بار که فرم رو باز می کنم بار اول کار نمی کنه دوباره که وارد می کنم جلوگیری میکنه ولی باز فرم رو که می بندم باز روز از نو و روزی از نو 
تازه هر کدوم رو هم کلی دست کاری کردم بازم نشد .
کمک کنید لطفا دارم دیونه میشم به خدا .