Поскольку это скорее «как делать-я-проследовать-вопрос», рассмотрим следующие
- Типы пользователей в его имя пользователя в вашем текстовом поле и нажимает «Create User» button
- Программа принимает значение из текстового поля и запускает запрос в базе данных, который проверяет, находится ли пользователь уже в db
- , если он есть, вы покажете ошибку на своем экране или предложите новое имя пользователя, основанное на имени пользователя, введенном пользователем, которое вы подтвердили как новый, возможно, правильное значение в случае
- это не так, вы создаете пользователя, и пусть он знает, что его счет был создан
требуется Ваше базовые знания, прежде чем это сделать:
- как я запрос к базе данных, и использовать возвращаемое значение
- как я добавить имя пользователя для этого запроса, чтобы сделать SQL инъекции безопасным
- базовые знания программирования логики также может помочь (хотя, вы, кажется, сделал это далеко ...)
Так, в конце концов, сводится к тому:
Dim strUsername As String = usernametextbox.text
Dim boolUsernameExists as Boolean = False
If String.IsNullOrEmpty(strUsername) Then
' do not allow empty usernames
Return
End If
Using dbConnection as OleDbConnection = new OleDbConnection("your-connection-string")
dbConnection.Open()
Using dbCommand as OleDbCommand = new OleDbCommand("select count(username) from users where username like ?", dbConnection)
dbCommand.Parameters.AddWithValue("@p1", strUsername)
Dim result As Integer = DirectCast(dbCommand.ExecuteScalar(), Integer)
If result > 0 Then
boolUsernameExists = true
End If
End Using
dbConnection.Close()
End Using
If boolUsernameExists Then
' throw error, or do some other action
...
' and return
Return
End If
' If you end up here, your user doesn't exist, and it safe to create the new username
Я хотел бы отметить, что это было написано без редактора, и там могут быть некоторые ошибки, хотя, как вы отметили, это чисто как к проследовать-вопрос
спросить себя: «Что я сравниваю?» Это предложение 'where' является неполным – Barranka
Я просто пересматриваю визуальную студию. im довольно потерял, куда идти оттуда. –
, так что если ваше имя пользователяTextbox равно вашей строке sql, вы бросаете эту ошибку? вы уверены, что скопировали/ввели правильный код? – Icepickle