2016-03-02 2 views
0

Я вхожу в тот же username, но он по-прежнему сохраняется в БД. Что случилось с моим кодом?Duplicate Entry in Vbnet SQL

sql = "INSERT INTO testing_mysql_vb(id,user_name) VALUES(NULL,'" & TextBox1.Text & "')" 

    Try 
     dbcomm = New MySqlCommand(sql, dbconn) 
     dbread = dbcomm.ExecuteReader() 
     dbread.Close() 

     If dbread.HasRows Then 
      sql = "select from testing_mysql_vb where user_name = '" & TextBox1.Text & "'" 
      MsgBox("Duplicate record!") 

     End If 

    Catch ex As Exception 
     MsgBox("Error in saving to Database. Error is :" & ex.Message) 
     dbread.Close() 
     Exit Sub 
    End Try 
    MsgBox("The User Name was saved.") 
    TextBox1.Text = "" 
+0

«вот мой код». Есть вопрос? – artm

+0

Создайте уникальный индекс в столбце user_name –

ответ

0

Что я могу видеть, что там может быть любой из двух вопросов:

  1. Имя пользователя, не первичный ключ или ограничение уникальности, следовательно, его позволяет экономить. ИЛИ
  2. Вы сначала вставляете в БД, а затем проверяете, существует ли это имя пользователя в БД или нет. Это должно быть наоборот.
Смежные вопросы