ciao a tutti ragazzi!!

è un po' di tempo che non scrivo più su questo forum e adesso, avendo ripreso in mano un progettino in asp.net, mi ritrovo con vecchi problemi insoluti.
con questa sub per creare un utente (password, nome utente e email) prima dell'inserimento dei dati effettuo un controllo per verificare che non sia stato ancora inserito un utente con quel nome.
Sfortunatamente non va..

Immettendo un nome utente non usato, ricevo un Syntax Error nell'INSERT INTO, alla linea evidenziata.
Con un nome usato, funziona correttamente

codice:
    Sub createUser(src As Object, e As EventArgs)
      Dim user, passwd, imeil, sqlString, instr As String
      user = txtRegUser.Text
      passwd = pwdRegPwd.Text
      imeil = txtRegMail.Text
      user = Replace(user, "'", "''")
      passwd = Replace(passwd, "'", "''")
      imeil = Replace(imeil, "'", "''")
    
      Dim objConn As New OleDbConnection(ConfigurationSettings.AppSettings("cnstr"))
      sqlString = "SELECT * FROM utenti WHERE username='" & user & "'"
      Dim objCmd As New OleDbCommand(sqlString, objConn)
      Dim objReader As oleDbDataReader
      objConn.Open()
      objReader = objCmd.ExecuteReader()
      If objReader.HasRows Then
       lblError.Text = "Il nick name è già registrato. Scegline un altro."
       objReader.Close()
       objConn.Close()
       showRegister(Nothing, Nothing)
      Else
       objReader.Close()
       instr = "INSERT INTO utenti (password, username, mail) "
       instr &= "VALUES ('" & passwd & "', '" & user & "', '" & imeil & "')"
       'Response.Write(instr)
       Dim objCmdin As New OleDbCommand(instr, objConn)
       objCmdin.ExecuteNonQuery() 
       objConn.Close()
       Response.Redirect("dotnetguestbook.aspx")
      End If
    End Sub
Grazie mille a chi può darmi una mano!